我有两个文件。我想打印两个文件中的名称。
file1
1dfg
4rte
aabd
hjgf
file2
4rte
2fgh
1dfg
期望的输出
1dfg
4rte
答案 0 :(得分:3)
一种方式:
$ comm -12 <(sort file1) <(sort file2)
1dfg
4rte
答案 1 :(得分:0)
试
cat file1 | grep -Fxf file2
如果你想要它打印而不用grep搜索突出显示
cat file1 | grep -Fxf file2 | awk '{print $1}'
答案 2 :(得分:0)
grep
可以做到这一点:
grep -f file2 file1
结果:
1dfg
4rte
但是,awk
可能更合适,具体取决于空白的重要性:
awk 'FNR==NR { a[$0]; next } $0 in a' file2 file1
或:
awk 'FNR==NR { a[$1]; next } $1 in a' file2 file1
答案 3 :(得分:0)
使用awk的其他方式
awk 'FNR==NR{a[$1]+=1;next} a[$1]' file1.txt file2.txt