file1@x2.png のような間違ったファイル名があります。file1@2x~ipad.png のようにする必要があります。
これが私がこの質問を提起するのに適切な場所であるかどうかはわかりません. そのようなファイル名を間違ったものから期待されるものに変換するための簡単な bash シェル スクリプトの書き方。
bashを使用しますが、これはsh/POSIXに簡単に変換できます
for file in *; do
[[ "$file" =~ @2x~ipad\.png$ ]] || mv "$file" "${file%@*}@2x~ipad.png"
done
ファイルがpng
sだけではない場合は、3文字の拡張子を想定して、これを使用します(拡張子に依存しません)。
for file in *; do
[[ "$file" =~ @2x~ipad\.[[:alpha:]]{3}$ ]] || mv "$file" "${file%@*}@2x~ipad.${file##*.}"
done
find
それらのファイルが特定のディレクトリの下にグループ化されていない場合は、指定されたルートディレクトリの下で再帰的にそれらを試してください
while read -r file; do
[[ "$file" =~ @2x~ipad\.[[:alpha:]]{3}$ ]] || mv "$file" "${file%@*}@2x~ipad.${file##*.}"
done < <(find /path/to/root/dir/to/look/under -type -f -name "*.png")
スクリプトは必要ありません。試してくださいmmv
:
mmv "*.png" "#1~ipad.png"
prename
(付属の)を使用perl
して、多くのファイルに対してこれを簡単に行うことができます。
prename 's/x2\.png/2x~ipad.png/' *.png
mv file1@x2.png file1@2x~ipad.png
ヘルプに使用できますman mv
。