2

我有两个文件:

文件 1

1 
2 
3
4
5

文件2

a     0     1    h    f  
b     0     3    h    f
c     0     8    h    f
d     0     5    h    f

我想将 file1 与 file2 的 column3 进行比较并像这样打印 file2 的整行

a     0     1     h    f
b     0     3     h    f 
d     0     5     h    f

我尝试使用awk,但我正在打印 column3:

awk 'NR == FNR {f2[$3]=$1; next} $1 in f2{print f2[$1],$1}' file2 file1

如何从 file2 打印整行?

4

1 回答 1

3

如果你先给容易得多file1

$ awk 'NR==FNR{a[$1];next}$3 in a' file1 file2
a     0     1    h    f
b     0     3    h    f
d     0     5    h    f

这样,file2如果字段 3 中的值是 in,您可以轻松地打印整行file1。默认块在awkis{print $0}所以它可以从$3 in a{print $0}.

于 2013-04-04T17:36:43.937 回答