コンソール上でrenameコマンドが無い環境でファイル名を一括置換する
Pocket

ターミナル上で一括でファイルのリネームをする場合によく利用されるrenameコマンドだが、もしそれがない場合はどうやって一括置換すれば楽かなと思って調べみた。
で、以下のようにコマンドを実行すれば一括で置換ができる。
(とりあえず、カレントディレクトリでa~のファイルを対象にしている)

ls a* | xargs -n1 | sed 'p;s/\.txt/\.faq.txt/g' | xargs -n 2 mv
Sponsored Links

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コマンドがあるなら素直にそっち使ったほうがいいと思うが、まぁこんなやり方もあるということで。

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。