-1

我有两个文件。我想打印两个文件中的名称。

file1   

  1dfg   
  4rte
  aabd 
  hjgf

file2

  4rte
  2fgh
  1dfg

期望的输出

1dfg
4rte
4

4 回答 4

3

单程:

$ comm  -12 <(sort file1) <(sort file2)
1dfg
4rte
于 2013-02-06T04:27:05.093 回答
0

尝试

cat file1 | grep -Fxf file2

如果你想在没有 grep 搜索突出显示的情况下打印它

cat file1 | grep -Fxf file2 | awk '{print $1}'
于 2013-02-06T04:27:38.987 回答
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
于 2013-02-06T05:07:17.753 回答
0

使用 awk 的其他方式

awk 'FNR==NR{a[$1]+=1;next} a[$1]' file1.txt file2.txt

于 2013-02-06T05:57:36.080 回答