我有两个文件。我想打印两个文件中的名称。
file1
1dfg
4rte
aabd
hjgf
file2
4rte
2fgh
1dfg
期望的输出
1dfg
4rte
单程:
$ comm -12 <(sort file1) <(sort file2)
1dfg
4rte
尝试
cat file1 | grep -Fxf file2
如果你想在没有 grep 搜索突出显示的情况下打印它
cat file1 | grep -Fxf file2 | awk '{print $1}'
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
使用 awk 的其他方式
awk 'FNR==NR{a[$1]+=1;next} a[$1]' file1.txt file2.txt