私は基本的なレベルのUNIX理解を持っています。2つのファイルを比較するAWKコマンド、2番目のファイルに見つからない場合は最初のファイルの行、見つかった場合は2番目のファイルの行を報告してください
私は、ファイル1のすべての行を持つファイルを持つという最終的な目標を持って、2つのファイル(タブで区切られた各ファイルの2つの列)を比較するために "awk"コマンドを使用しようとしましたが、行ファイル2に見られる、Iファイルから同じ行に置換されるファイル1の行を希望2.
File 1:
Supercontig_12.1,420 0
Supercontig_12.1,421 0
Supercontig_12.1,422 0
Supercontig_12.1,423 0
…(rows continue in numerical order)
Supercontig_12.1,428 0
Supercontig_12.1,429 0
Supercontig_12.1,430 0
File 2 (not in numerical order):
Supercontig_12.1,422 0.6
Supercontig_12.1,426 0.333333
Supercontig_12.1,428 0.5
Supercontig_12.1,429 0
所望の出力
Output:
Supercontig_12.1,420 0
Supercontig_12.1,421 0
Supercontig_12.1,422 0.6
Supercontig_12.1,423 0.333333
…
Supercontig_12.1,428 0.5
Supercontig_12.1,429 0
Supercontig_12.1,430 0
Iは、以下のコマンドを使用しています、しかし、それは、ファイル1の行の最後にファイル2の行を追加することです。これは "cat"のようなものですそして。
$ awk -F"\t" 'NR==FNR{a[$1]} $1 in a{print $1 "\t" $2}' file1.txt file2.txt > output.txt
私は、配列私がやりたいものですファイル1のサイズ、作っていますが、私は、ファイルのためにその配列内の2データを選択していないよ知っています。どんな助けも大歓迎です。前もって感謝します。
アンディ
file2にfile1にレコードがありませんか? file1の値は常に0ですか? –
こんにちは、ウォルター、ご質問ありがとうございます。答えは、「空白」の列にデータを入力しようとしているので、file1の2番目の列は常にゼロです。いいえ、file2のレコードは常にfile1にあります。 file2にあります。 – adklocko