C shell 编程:1.FILE文件夹中 文件名(ABCxxxxD)改为(ABCxxxxF) X表示任意字符

2025-03-12 17:33:38
推荐回答(1个)
回答1:

#######以下是2的实现
######file原输入文件;file.tmp sed处理过程中间文件
######需要有在当前目录下创建临时文件的权限
sed -e 's/\(ABC\)\(.*\)D/\1\2M/g' file >file.tmp
mv file.tmp file

###以下是1的实现
#! /bin/sh
#######scripName:handle.sh
find ./ -name "ABC*D" |while read file
do
oldFile=$file
file=basename $file
newFile=`echo $file|sed -e 's/\(ABC\)\(.*\)D/\1\2M/g'`
$dir=${oldFile%%$file}
mv $oldFile $dir$newFile
done