我正在尝试创建一个遍历目录的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"
我正在尝试更改每个文件:我要成为$ e。
例如,如果我有一个目录,并且其中有一个名为test.txt的文件,则该文件将更改为test-BACKUP.txt
我遇到的问题是它没有用目录更改文件,它正在改变目录本身。
答案 0 :(得分:1)
for i in "$dir2/"*; do
mv "$i" "${i%.*}-BACKUP.${i##*.}"
done
答案 1 :(得分:0)
for i in *
do
echo $i
mv $i `basename $i`.new
done