Linuxでファイル名のセットの名前を一括変更するにはどうすればよいですか?


9

次の名前の画像を含むフォルダがあります。

pic001-2.png
pic002-2.png
pic003-2.png 

それらの名前を次のように変更するにはどうすればよいですか?

pic001.png
pic002.png
pic003.png 

私は試しましたmv "pic*-2.png" "pic*.png"が、エラーが出続けます。

回答:


11

これにより-2、各ファイル名で最初に見つかったものが削除されます。

for f in pic*-2.png; do
  mv "$f" "${f/-2/}"
done

テストするechoには、mv行の先頭に追加します。


9

適切な名前の 'rename'コマンドが必要です!

次のようなものを試してください:

rename 's/(pic\d+)-\d\.jpg/$1.jpg/' pic*.jpg

最初の引数としてperl正規表現を使用するため、パターンマッチングと操作のオプションはかなり広範囲にわたっています。詳細については、rename(1)のマニュアルページを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.