いくつかの画像がmyimage.jpg
からmyimage.jpg_backup
に名前が変更されたため、私のウェブサイト上の画像はもう読み込まれません。 _backup
で終わるすべての画像を再帰的に見つけて、残りのファイル名を保持しながら_backup
部分だけを削除するにはどうすればよいですか?
私は次のようなものを試しました:
Sudo find . -name "*.jpg_backup" -exec rename -n 's/_backup$//' *.jpg_backup ';'
しかし、それは私にエラーを与えます:
Can't rename *.jpg_backup *.jpg: No such file or directory
rename -v 's/\.jpg_backup$/\.jpg/' *.jpg_backup
を試してください-vは詳細な出力を提供します。こちらをご覧ください 名前の変更方法
端末 で、それらのファイルがあるディレクトリに移動します(cd /path/to/folder
を使用)。ファイルに空白または特殊文字\[*?
が含まれていない場合は、次のコマンドを実行します。
for file in `find . -name *.jpg_backup` ; do mv "$file" "${file%_backup}"; done
空白またはグロビング文字を含むファイル名があると思われる場合は、次を使用します。
find . -type f -name '*.jpg_backup' -print0 \
| while IFS= read -r -d '' file ; do mv -- "$file" "${file%_backup}"; done
または:
shopt -s globstar;
for file in /path/to/folder/**/*.jpg_backup ; do mv -- "$file" "${file%_backup}"; done
上記のコマンドは、現在のフォルダーとサブフォルダーからすべての*.jpg_backup
ファイルを再帰的に検索し、*.jpg
に名前を変更します。最後の1つは、ディレクトリへのシンボリックリンクの内部も調べます。