初めて自分の家と他人の家が違う、と意識した時

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

A 回答 (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の値で区切られます)
    • good
    • 0
この回答へのお礼

ありがとうございます。
最後のprint A,$2;FS=","のFSは何でしょうか?
出力で使うFSということでしょうか?

また入力ファイルを3つ、4つと増やす場合も同じように
すればよいでしょうか?

お礼日時:2007/04/14 07:35

getline関数を使えば可能です。


並べて表示したいならこんな感じで。

gawk '{A=$1;getline < "file2";print A,$2}' file1

古いバージョンのawkだとgetline関数はありません。
目的によっては、awk でなく join コマンドを使うほうが楽かもしれません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/04/14 03:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報