我正在尝试创建一个通过目录的 for 循环,并重命名该目录中的每个文件。
dir2=$1
for i in $dir2
do
file=$(basename "$i")
b=${file%.*}
c=${file#"$stub"}
d=-BACKUP
e=$b$d$c
mv "$i" "$e"
我正在尝试更改每个文件:i以成为$e。
例如,如果我有一个目录,并且其中有一个名为test.txt的文件,则该文件将更改为test-BACKUP
.txt我遇到了问题,因为它没有更改目录中的文件,而是更改了目录本身。
for i in "$dir2/"*; do
mv "$i" "${i%.*}-BACKUP.${i##*.}"
done
for i in *
do
echo $i
mv $i `basename $i`.new
done