• ベストアンサー

awkで複数ファイルをよんで$1$2と参照できるでしょうか?

awkで複数ファイルをよみこんでファイル1の$1ファイル2の$2と参照したりできないでしょうか?

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.2

>この場合file1とfile2のデリミタを指定するには デリミタが同じ","の場合 gawk -F, '{A=$1;getline < "file2";print A,$2}' file1 file1が","で、file2が" "の場合 gawk -F, '{A=$1;FS=" ";getline < "file2";print A,$2;FS=","}' file1 (行が読まれる時点でのFSの値で区切られます)

vivi0303
質問者

お礼

ありがとうございます。 最後のprint A,$2;FS=","のFSは何でしょうか? 出力で使うFSということでしょうか? また入力ファイルを3つ、4つと増やす場合も同じように すればよいでしょうか?

その他の回答 (1)

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

getline関数を使えば可能です。 並べて表示したいならこんな感じで。 gawk '{A=$1;getline < "file2";print A,$2}' file1 古いバージョンのawkだとgetline関数はありません。 目的によっては、awk でなく join コマンドを使うほうが楽かもしれません。

vivi0303
質問者

お礼

ありがとうございます。 この場合file1とfile2のデリミタを指定するには どうすればよいでしょうか?

関連するQ&A