awk使用关键字提取行

时间:2014-08-30 19:01:01

标签: awk

一个相当简单的问题。我有两个制表符分隔文件。第一列包含我的许多列,第一列和第二列的格式如下:

RT034_00001 xxxx
RT034_00002 sss
RT034_00003 rrrr
RT034_00004 yrurf 

我想检索第一列值与第二个单列文件的以下关键字匹配的行,例如:

RT034_00002
RT034_00004

所以最后我想带来

RT034_00002 sss
RT034_00004 yrurf 

有什么办法吗?

2 个答案:

答案 0 :(得分:2)

你可以通过构建一个数组,其数据键是第二个文件的内容,然后在第一个文件中打印匹配的行:

awk 'NR==FNR {a[$1]; next} $1 in a' second_file first_file

答案 1 :(得分:0)

grep -f 2ndfile.txt 1stfile.txt

如果

将有效

1stfile.txt是

RT034_00001 xxxx
RT034_00002 sss
RT034_00003 rrrr
RT034_00004 yrurf 

和2ndfile.txt是

RT034_00002
RT034_00004

enter image description here