以下のスクリプトを使用して、ディレクトリのファイル名リストの2番目の文字を変更しました。デフォルトでは、ファイル名は次のように変更されます。
GA001001 > GX001001
GA001002 > GX001002
GA001003 > GX001003
そして、すべてが変更されるか、名前が変わるまで続きます。
最初にこのスクリプトを試しましたが、うまくいきませんでした。
#!/bin/ksh
# Script for InfoPrint OVERLAY file convertion for 600 dpi
# Last Updated 02/29/2012
# By Harry Marion
for x in *"A"*; do
mv -- "$x"A"${x// /X}"
done
それからこれを試しましたが、それもうまくいきませんでした。
#!/bin/ksh
# Script for InfoPrint OVERLAY file convertion for 600 dpi
# Last Updated 02/29/2012
# By Harry Marion
for x in *"A"*; do
mv -- "$x"A"${x//A/X}"
done
答え1
次のような状況が必要ない場合は、文章を強制しないでください。
for i in GA* ; do
j="${i/GA/GX}"
echo mv "$i" "$j"
done
答え2
メガネ:-
以下のスクリプトを使用して、ディレクトリのファイル名リストの2番目の文字を変更しました。
shopt -s nullglob
for x in ?A*; do
case $x in
A*) mv -f -- "$x" "${x/AA/AX}" ;;
*) mv -f -- "$x" "${x/A/X}"
esac
done