人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

2つのテキストファイルがあります。
1つめは

a1はa2
b1はb2
c1はc3

となっています。
2つめはCSVファイルで

a2,a3
b2,b3
c2,c3

となっています。
ファイル2を読み込んでファイル1のデータを連続して置き換えたいのですが良い方法やツールはないでしょうか。
よろしくお願いします。

●質問者: Sprint
●カテゴリ:コンピュータ
✍キーワード:A1 A3 b2 C3 CSV
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● shidho
●100ポイント ベストアンサー

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/

ごめんなさい。感謝です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ