- ベストアンサー
こんな文字列置換ツールもしくは置換法を探しています。
こんな文字列置換ツールもしくは置換法を探しています。 共通した文字列「文字列A」を含むHTMLファイルが3つあります。 ファイル名は簡単に「1」、「2」、「3」とします。 この3個のファイルの「文字列A」を 置換候補(たとえば「文字列あ」、「文字列い」、「文字列う」)を指定し、 一括で置換できるツールもしくは方法をご存じの方はお教えいただけないでしょうか? ツールの場合、置換候補をCSVファイルなどで一気に指定できればなお良しです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
そういう用途のために昔から存在するツールが、sed(ストリームエディタ)です。これはスクリプトで条件を与えて置換を行うもので、一番安直なスクリプトが、 # test.sed a-->あ、b-->い、c-->う に置換する s/a/あ/g s/b/い/g s/c/う/g と言う感じのスクリプトをテキストファイルで用意しておき、コマンドラインで実行します。これで、置換後のファイル名に a-->あ、b-->い、c-->う に置換された結果が得られます。 sed -f test.sed [置換したいファイル名] > [置換後のファイル名] 置換条件が一つしかない場合は、スクリプトファイルではなく、コマンドラインに直書きすることもできます。詳細は、次のリンクなどをあたってください。正規表現パターンマッチやパターンの記憶置換など、単純な置換だけではない高度な処理が可能です。 解説 http://www001.upp.so-net.ne.jp/hata/sed_reference.html sed win32版 http://www.vector.co.jp/soft/win95/util/se015016.html sedに限らず、置換を一気に行う場合は、条件の与え方に十分注意する必要があります。油断していると、文章だけ置換したいのに、タグの内容にたまたま同じ文字列があると、そこまで置換されてしまったりするので。それを避けるために正規表現などがあるわけですが。
その他の回答 (1)
- Toshi0230
- ベストアンサー率51% (836/1635)
どのような作業をしたいのか今ひとつ理解できません。 例えば、 ・ファイル1は 文字列A→文字列あ ・ファイル2は 文字列A→文字列い という具合にやりたいのか。 それとも各ファイルの中にある文字列Aを文字列あ、文字列い、文字列うに何らかの法則に沿って置換していきたいのか? 前者であればエディタなりsedなどのツールなどでやればよいと思いますが、後者の場合は「法則」がわからないとできるかどうかもわからないと思います。 もう少しやりたいことを詳しく説明してください。
お礼
すばやい回答ありがとうございました。 今回聞きたかったのはToshi0230様が最初に示した例の方法でした。 わかりずらい質問の仕方をしてしまい、申し訳ありませんでした。 そちらの方法もほかの方が回答していただいたのでもう大丈夫です。 今回はありがとうございました。 またの機会がありましたら、よろしくお願いします。
お礼
丁寧な回答ありがとうございました。 おかげで助かりました。 参考サイトも含めて、さっそく勉強させていただきます。 またの機会がありましたらよろしくお願いします。