一致するものがない場合は「Not Found」の印刷方法を知っていますか?印刷出力には常にFile 1と同じ行数が含まれます。awkを使用してファイル1から3列のFile2を検索
具体的には、私は4つの列を持つ2つのファイルがあります。
ファイル1:
1 800 800 0.51
2 801 801 0.01
3 802 802 0.01
4 803 803 0.23
をファイル2:
1 800 800 0.55
2 801 801 0.09
3 802 802 0.88
4 803 804 0.24
これは何ですか私は今使用しています:
$ awk 'NR==FNR{a[$1,$2,$3];next}($1,$2,$3) in a{print $4}' file1.txt file2.txt
これは、次のような出力を生成:しかし、私はこれを取得したい
0.55
0.09
0.88
を:
0.55
0.09
0.88
Not Found
をあなたは助けてくださいもらえますか? これは混乱して表示されています。私はawkの経験がほとんどなく、混乱しています。別の問題で
ので、同じように、私は、ファイル2からのデータがファイル1へ追加したファイルを持って終了します:
1 800 800 0.51 0.55
2 801 801 0.01 0.09
3 802 802 0.01 0.88
4 803 803 0.23 Not Found
私のようにファイルを生成しようとしていました
ペーストは "\ tの" FILE1.TXTのファイル2-matches.txt>
OUTPUT.TXTしかし、私がしなければならない考慮-d:(はをfile2-matches.txtそれを呼び出すことができます)の前に、[貼り付け]コマンドを使用します100フィール以上で一致するこれを行うためのより効率的な方法がありますか?
ありがとうございました!私はそれを働かせようとしましたが、構文の権利を得ることができませんでした。 – DanS
私はこれを別の質問として投稿するべきですが、file2のfile1にない余分な行が残りの部分の最後に追加されるようにする方法があるのかどうか知りませんか? file2の列を含む1 2 3 ??ありがとうございます – DanS
別途質問があります – dawg