查找两个文件的公共行

查找两个文件的公共行

我有两个这样的文件

文件1

aaaaa  6578
vvvvv  6784
hhhhh  8905
fffff  3245
bbbbb  9876

文件2

hhhhh
bbbbb

我想要一个输出,其中只有 FILE 2 的行以及 FILE 1 中存在的相关信息。

前任。输出

hhhhhh 8905
bbbbbb 9876

你能帮助我吗?

谢谢

答案1

尝试使用 grep,

grep -f file2 file1
hhhhh  8905
bbbbb  9876
  • -f从 FILE 中获取模式。

答案2

FILE 1 中的信息位于 2 个不同的列中,第一列包含所有名称(aaaaavvvvv等),第二列包含数字信息。

答案3

awk

awk 'NR==FNR{ a[$0]; next } $1 in a' file2 file1

file2读取时,将每一行保存在 array 中a。读取
file1,如果 array 中存在第一个字段,则打印当前行a

相关内容