1

たとえばfile1.txt、以下を含む参照リストがあるとします。

a
b
c 
d

そして、私はfile2.txt次のようなデータファイルを持っています:

a 1 2 3
b 5 6 7
d 6 7 8
e 7 8 9

で必要な出力output.txt

a 1 2 3
b 5 6 7
d 6 7 8

のIDfile1.txtを の最初の列と一致させfile2.txt、行全体 ( からの行file2.txt) をoutput.txt

4

2 に答える 2

7

これは、join次の目的で設計されています。

$ join f1 f2
a 1 2 3
b 5 6 7
d 6 7 8

sort最初にファイルが必要な場合:

join <(sort f1) <(sort f2)
于 2012-12-06T10:20:27.827 に答える
4
awk 'FNR==NR{a[$1];next}($1 in a)' file1.txt file2.txt

また、perlで:

perl -F -lane '$h{$F[0]}++;if($h{$F[0]}>=2){print $_;}' file1 file2

注: 上記の perl コマンドは、最初のファイルに一意の ID がある場合に機能します。

于 2012-12-06T10:01:12.480 に答える