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

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

UNIX・Linuxでファイル名・フォルダ名の一括置換を行う

LinuxやUNIXを利用していると、スクリプト名などのファイル名のルールが変更したため、一括で置換を行いたいときがある。 そんな時は、どうすればいいのだろうか?

1.『rename』コマンドを利用する

もし『rename』コマンドがあるようならば、これを利用するといいだろう。 Linuxには大体最初から用意されている。(なお、Ubuntuの場合だと置換の指定方法がPerl(sed)の指定方法になっている)

rename 置換する単語 置換後の単語 対象PATH

この対象PATHにはワイルドカードも利用できるので、以下のように一括で置換を行える。

[root@test-...