現在、次の2つのファイルがあります。
ファイル1:
2R 101 1:0:0:14:0:0 0:1:0:34:0:0 0:3:0:62:0:0 0:0:0:11:0:0 .02312
2R 201 0:2:0:24:0:0 0:0:0:44:0:0 0:0:0:15:0:0 0:0:0:22:0:0 .02312
2L 301 0:4:0:24:0:0 0:0:0:61:0:0 0:0:0:17:0:0 0:0:0:54:2:0 .02312
3R 551 0:2:0:64:0:1 0:1:0:67:0:0 0:0:0:22:0:0 0:0:0:31:1:0 .02312
3R 651 0:2:0:64:0:1 0:1:0:67:0:0 0:0:0:22:0:0 0:0:0:31:1:0 .02312
X 1312 0:0:3:24:0:0 0:5:0:65:0:0 0:0:0:55:0:0 0:0:0:14:0:0 .02312
X 5342 0:0:3:24:0:0 0:5:0:65:0:0 0:0:0:55:0:0 0:0:0:14:0:0 .02312
ファイル2:
2R 201
3R 551
X 5342
私が望むのは、File1から最初の2列のエントリがFile2の行と一致するすべての行を抽出することです。したがって、この例に基づいて出力ファイルを次のように作成したいと思います。
結果ファイル:
2R 201 0:2:0:24:0:0 0:0:0:44:0:0 0:0:0:15:0:0 0:0:0:22:0:0 .02312
3R 551 0:2:0:64:0:1 0:1:0:67:0:0 0:0:0:22:0:0 0:0:0:31:1:0 .02312
X 5342 0:0:3:24:0:0 0:5:0:65:0:0 0:0:0:55:0:0 0:0:0:14:0:0 .02312
ベストアンサー1
ファイル2があると仮定すると、A
データファイル(ファイル1)は次のようになります。b
awk 'FILENAME == "A" { remember[$1 $2]=1 ;}
FILENAME != "A" { if ( $1 $2 in remember ) print ; } ' A b
これは生産します
2R 201 0:2:0:24:0:0 0:0:0:44:0:0 0:0:0:15:0:0 0:0:0:22:0:0 .02312
3R 551 0:2:0:64:0:1 0:1:0:67:0:0 0:0:0:22:0:0 0:0:0:31:1:0 .02312
X 5342 0:0:3:24:0:0 0:5:0:65:0:0 0:0:0:55:0:0 0:0:0:14:0:0 .02312