• ベストアンサー

awkを使って文字列処理の問題

awkで以下のことをやりたいですが、 a.txtの中身は aaaa bbbb cccc の三つのレコードがあります。 b.txtの中身は 東京a 埼玉b 千葉c 東京d になってます。 ファイルa.txtのみっつのレコードのを読み込んできて、b.txtに対して検索して、東京 という文字列があれば、そのレコードは、aaaaに置き換えて、あるファイルに出力する ようなスクリプトを書きたいです。 どう書けば、いいですか?教えていただけませんか?

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10360)
回答No.1

b.txtの「東京」を「aaaa」に変えるなら、 awk '{gsub("東京","aaaa");print}' b.txt ですが、それとa.txtはどういう関係があるのですか?

ikutame
質問者

補足

返事ありがとう! a.txtのデータを一回保存しておいて、 変換しようとするファイルには、"東京"があれば、 aaaaに置き換えれ、埼玉をbbbbに、千葉をccccに置き換える プログラムを書きたいですが、 そうするなら、どうすれば、いいですか?

その他の回答 (1)

  • iriyak
  • ベストアンサー率48% (40/82)
回答No.2

こんにちは。 a.txt と b.txt の行間の関係の提示は可能でしょうか?? 提示したデータでは、目的を達成できず、不十分のように回答者には見えます。 (理由) a.txt は 1列で構成される行が格納されている b.txt は 1列、2列で構成される行が格納されている b.txt の 1列目が『千葉』と等しい場合に、何をもって a.txt の『cccc』に置き換える判断をするのか。b.txt の 2列目『c』は『cccc』とも一致しないので判断材料に使用できないようです。質問者の提示したデータでは、目的を達成することができないようにみえます。

関連するQ&A

専門家に質問してみよう