Linux:特定のIDの行を抽出する方法とIDが異なるファイルに書き込まれていますか?

Linux:特定のIDの行を抽出する方法とIDが異なるファイルに書き込まれていますか?

IDを含むCSVファイルがあります。

1
3
8

IDだけでなく他の情報も含む別の情報ファイルがあります。 ID情報だけを抽出したい場合はどうすればいいですか?

1 96 283 4
2 87 918 6
2 49 208 5
3 57 294 0
3 24 284 0
4 28 345 290
5 23 234 209
6 98 245 02
7 18 329 89
8 19 239 78
8 18 289 90
9 28 390 09
9 19 238 09
10 23 899 7

このファイルを作成したい

1 96 283 4
3 57 294 0
3 24 284 0
8 19 239 78
8 18 289 90

ベストアンサー1

私は以下を使用しますawk

awk 'NR==FNR{a[$0]++;next}a[$1]' file1 file2

あなたのIDはfile1にあり、残りのIDはfile2にあります。出力:

1 96 283 4
3 57 294 0
3 24 284 0
8 19 239 78
8 18 289 90

おすすめ記事