画像ファイルで画像を作成していますが、ファイル名に科学的表記法による数字が含まれているため、名前の順序が正しくありません。
ファイル名の形式は次のとおりです。
ABC_1.000000E-01.png ~ ABC_1.100000E+01.png,
DEF_1.000000E-01.png ~ DEF_1.100000E+01.png,
GHI_1.000000E-01.png ~ GHI_1.100000E+01.png,
.
.
.
数値が使用する数値表現を変更すると、順序がもはや合わなくなるので、次のように変更したいと思います。
ABC_001.png ~ ABC_110.png,
DEF_001.png ~ DEF_110.png,
GHI_001.png ~ GHI_110.png,
.
.
.
私のLinuxシステムでこれをどのように実行しますか?
ベストアンサー1
また試み
ls -1 *.png | LC_ALL=C awk -F[._] '{TMP=$2 "." $3; printf "mv %s %s_%03d.%s\n", $0, $1, 10*TMP, $4}'
mv ABC_1.000000E-01.png ABC_001.png
mv ABC_1.100000E+01.png ABC_110.png
mv DEF_1.000000E-01.png DEF_001.png
mv DEF_1.100000E+01.png DEF_110.png
mv GHI_1.000000E-01.png GHI_001.png
mv GHI_1.100000E+01.png GHI_110.png
awk
科学的表記法で数値を分離して変換し、10倍の値をゼロパディングされた整数として出力するために使用されます。たとえば、sh
結果に満足している場合は、パイプラインを通過してみてください。