ある方に、
「ファイル名の最初に一括でzとつけたいのだけれども、どうしたらよいだろうか?」
と質問されました。
たとえば、
001.jpg 002.jpg 003.jpg 004.jpg
をすべて
z001.jpg z002.jpg z003.jpg z004.jpg
としたいというような時です。
ここで、Linuxではrenameというコマンドを使います。
renameは以下の書式を知っていれば応用が効きます。
rename 's/置換前文字列/置換後文字列/' ファイル名
この、’s/before/after/’はsedでの置換と同じ書式です。sはsubstituteの略です。
でも、今は置換ではなく、文字列を追加したいわけです。
こういう時、Linuxはたいしたもんだなと思うのですが、ファイルの頭は^という特殊文字で表現されます。
そして、ファイルの最後は$で表現されます。(正規表現ですね)
なので、今、ファイル名にzを追加したい時は、
「^をzに置換」してあげると考えるわけです。
したがって、以下のようになります。
rename 's/^/z/' 00*.jpg
もし、ファイル名の最後に.oldをつけたかったら以下のようになります。
rename 's/$/.old/' 00*.jpg
^と$についての知識がちょっとあるだけで、ずいぶん楽になりますね。