我有两个文本文件,每个文件有 3 个字段。我需要在第三个字段中获取具有相同值的行。第三个字段值在每个文件中都是唯一的。示例:
文件1:
1 John 300
2 Eli 200
3 Chris 100
4 Ann 600
文件2:
6 Kevin 250
7 Nancy 300
8 John 100
输出:
1 John 300
7 Nancy 300
3 Chris 100
8 John 100
当我使用以下命令时:
cat file1 file2 | sort -k 3 | uniq -c -f 2
我只从输入文件中得到一行具有重复值。我两个都需要!
最佳答案
这个单行代码为您提供了输出:
awk 'NR==FNR{a[$3]=$0;next}$3 in a{print a[$3];print}' file1 file2
关于bash- 获取两个文件中具有相同列值的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26129058/