こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

テキストファイルの一部を複数パターンで置換

初めて質問させていただきます。

以下のようなテキストファイル(元ファイル)
があります。

1行目 あいうえお
2行目 codea=aaaaa/$$
3行目 codeb=11111*11111
4行目 …
この2行目と3行目の「aaaaa」「11111」
の文字列を以下に従って置換し保存したいです。

置換パターンは、
別ファイルに一覧になっています。

bbbbb 22222
ccccc 33333


これを、元ファイルの
「aaaaa」を「bbbbb」に、
「11111」を「22222」に置換し、
ファイル名を「bbbbb-22222.txt」として
保存するのを、
置換パターンの数だけ行う必要があります。

VBA、バッチは経験があります。得意分野ではありませんが…
申し訳ありませんが、ご教授いただけないでしょうか?

投稿日時 - 2012-11-22 12:00:50

QNo.7810095

すぐに回答ほしいです

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

Web Pages Designのカテゴリーで質問されているということは、Web関連ですか?
だとしたら、Perlなどのテキスト処理が特異なプログラムをインストールされて、それで処理されることをお勧めします。
 Perlが扱えれば、Webでも役に立つでしょう。

 また、CygwinなどのUNIXのツールが使えるものを入れて、様々なツールを使う手もあります。

 あなたが、バッチ処理に経験があれば、まよわずSED(ストリームエディタ)をお勧めするところですが、ちょっと敷居が高いでしょう。

Perlでしたら
open IN,./origianl.txt;
open LIST,./list.txt;
@lines = (<LIST>);
close LIST;
while(<lines>{
($A,$B)~=/^(.+)\s(.+)$/;
open OUT,$A\-$B.txt;
while(<IN>){
s/(codea\=)(\w+)(\/\$\$)/$1$A$2/s;
s/(codeb\=)(\d+)(\*)(\d+)/$B$2$B/s;
print OUT;
close OUT;
}
close IN;
とか・・・・。

投稿日時 - 2012-11-22 15:27:26

補足

ご回答ありがとうございます!!

小カテゴリは、その他プログラムに設定するべきでしたが
何度やっても設定がクリアされてしまいましたので
Webのままになっています。。
Webはまったく関係ないため、変更をできるものならしたいです。。

お恥ずかしながらPerlはどんなものかもわかっていませんが、
帰ったら調べて見ようと思います!

また、もしWebではないことで他にも有効な方法がありましたら、
ぜひ教えていただきたいです。

投稿日時 - 2012-11-22 16:56:09

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問