A1.txt A2.txt...A11.txt A12.txtなどのファイルがあります。 A0001.txt A0002.txt...A0011.txtなどに名前を変更したいです。私がしっかりしているのか?
for file in A*.txt
do
mv ${file} ${file/-#.txt-/-"%5d".txt}
done
ベストアンサー1
@John1024が提案したオプションがない場合(組み込みですがGUNでも利用可能)を使用して、必要なフィールド幅とパディングで10進形式を指定できる必要がprename
あります。残念ながら、私はこれを行いません。数字を抽出するステップシェル拡張がないと思います。私が得ることができる最も近いものは次のとおりです。printf
bash
coreutils
for file in A*.txt
do
base="${file%.*}"
printf -v newfile "A%04d.txt" "${base#A}"
mv -- "$file" "$newfile"
done