• ベストアンサー

UNIX コマンドで 複数ファイルの文字列置換の方法

UNIX初心者です。 UNIXのコマンドで複数のファイルの中身を同時に置換できないでしょうか? 自分で探しては見たのですが、"sed"しか見つかりません。 sed 's/aaa/AAA/g' <file1> file2 という方法では、ひとつずつなので、時間がかかってしまいます。 UNIXコマンドには、ありませんでしょうか。 また、無ければどのような知識が必要でしょうか。 私の知識が少ない為、内容が判りにくいとは思います。 すみませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ranx
  • ベストアンサー率24% (357/1463)
回答No.1

シェルスクリプトを書くのが普通だと思います。 例えばCシェルならば foreach f ( `ls` )  sed 's/aaa/AAA/g' < ${f} > ${f}_changed end という具合にすれば、カレントディレクトリの全ての ファイルについて、変換して新しいファイルを作ります。 #Cシェルのスクリプトなんか「普通」じゃないという #人もいますが、あしからず。

2002hare
質問者

お礼

早急な御回答ありがとうございます。 そうですね。シェルスクリプトで作ればよかったんですね。

関連するQ&A