-1

ディレクトリを通過する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"

各file:iを$eに変更しようとしています。

たとえば、ディレクトリがあり、その中にtest.txtというファイルが1つある場合、ファイルはtest-BACKUP.txtに変更されます。

ディレクトリ内のファイルを変更せず、ディレクトリ自体を変更するという問題があります。

4

2 に答える 2

1
for i in "$dir2/"*; do
    mv "$i" "${i%.*}-BACKUP.${i##*.}"
done
于 2012-10-11T18:56:28.383 に答える
0
for i in *
do
  echo $i
  mv $i `basename $i`.new
done
于 2012-10-11T18:58:16.597 に答える