我想在两个文件的第一个字段中找到相同的元素。我熟悉awk命令
awk 'FNR==NR{a[$1]++;next}a[$1]' file1 file2
但是,如果字段包含包含一个公共元素的多字表达式,则不起作用。例如,我的file1是:
blue and red 20.5
red and green 13.4
yellow and black 10
blue and black 17.2
black and green 21
我的文件2是:
blue and yellow 18
red and green 11.9
yellow and orange 8
brown and black 6.9
organge and yellow 17
上面的命令将产生以下列表:
blue and red 20.5
red and green 13.4
yellow and black 10
brown and black 6.9
我想只有完全匹配
red and green 13.4
答案 0 :(得分:3)
如果您的数据被tab
分开,您应该让awk知道这一点,否则,awk无法正确处理这些数据。
试试这个:
awk -F'\t' 'FNR==NR{a[$1]++;next}a[$1]' file1 file2