1つめは
a1はa2
b1はb2
c1はc3
となっています。
2つめはCSVファイルで
a2,a3
b2,b3
c2,c3
となっています。
ファイル2を読み込んでファイル1のデータを連続して置き換えたいのですが良い方法やツールはないでしょうか。
よろしくお願いします。
http://www.forest.impress.co.jp/lib/stdy/program/progdevenv/acti...
をインストールして、以下のスクリプトを置換するファイルのあるフォルダに置いて、
perl easy_replace.pl
として実行します。
# easy_replace.pl
# CSVを簡易的に読み込む
open FILE,"file2.csv";
my %replace_words;
while(my $line = <FILE>){
my ($from,$to) = split(",",$line);
$replace_words{$from}= $to;
}
close(FILE);
# 置換する対象のファイルを読み込む
open FILE,"file1.txt";
my @files = <FILE>;
close FILE;
$file = join("",@files);
# 置換する
foreach my $from (keys $replace_words){
my $to = $replace_words{$from};
$file =~ s/\Q$from\e/$to/g;
}
# 書き出す
open FILE,">file1_new.txt";
print FILE $file;
close FILE;
exit;
CSVの内容を作り直していいのなら、
http://www.forest.impress.co.jp/lib/sys/file/filesearch/repl_ace...
これが使えるかと思うんですがどうでしょう。
ありがとうございます。Perlですか、やっぱりこういうの覚えないといけないのですかね・・・。
そのご自分でちょこちょこみていたらterapadのページで連続置換君というのがあるのを知りました。
で、それを調べていたらベクターにカテゴリがありました(汗
http://www.vector.co.jp/vpack/filearea/win/util/text/conv/
ごめんなさい。感謝です。