ターミナル上で一括でファイルのリネームをする場合によく利用されるrenameコマンドだが、もしそれがない場合はどうやって一括置換すれば楽かなと思って調べみた。 で、以下のようにコマンドを実行すれば一括で置換ができる。 (とりあえず、カレントディレクトリでa~のファイルを対象にしている)
ls a* | xargs -n1 | sed 'p;s/\.txt/\.faq.txt/g' | xargs -n 2 mv
blacknon@BS-PUB-UBUNTU-01:~/test2$ ls -al
合計 8
drwxrwxr-x 2 blacknon blacknon 4096 2月 16 22:13 .
drwxr-xr-x 11 blacknon blacknon 4096 2月 16 22:12 ..
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_01.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_02.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_03.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_04.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_05.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_06.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_07.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_08.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_09.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_10.txt
blacknon@BS-PUB-UBUNTU-01:~/test2$ ls a* | xargs -n1 | sed 'p;s/\.txt/\.faq.txt/g' | xargs -n 2 mv
blacknon@BS-PUB-UBUNTU-01:~/test2$ ls -al
合計 8
drwxrwxr-x 2 blacknon blacknon 4096 2月 16 22:13 .
drwxr-xr-x 11 blacknon blacknon 4096 2月 16 22:12 ..
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_01.faq.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_02.faq.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_03.faq.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_04.faq.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_05.faq.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_06.faq.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_07.faq.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_08.faq.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_09.faq.txt
-rw-rw-r-- 1 blacknon blacknon 0 2月 16 22:13 a_10.faq.txt
renameコマンドがあるなら素直にそっち使ったほうがいいと思うが、まぁこんなやり方もあるということで。