-1

2つのファイルがあります。両方のファイルにある名前を印刷したいと思います。

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

awkを使用する他の方法

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

于 2013-02-06T05:57:36.080 に答える
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

試す

cat file1 | grep -Fxf file2

そして、grep検索の強調表示なしで印刷したい場合

cat file1 | grep -Fxf file2 | awk '{print $1}'
于 2013-02-06T04:27:38.987 に答える