如何使用另一个.txt文件作为列表从.txt文件中提取条目

时间:2013-10-22 16:11:27

标签: bash sed awk

我真的很感激这方面的一些帮助。

我目前有两个文本文件,fileA.txt看起来像这样:

AB307 0.112 0.220 0.341
AB101 0.223 0.474 0.175
AB201 0.101 0.298 0.001
AB209 0.245 0.199 0.222

等。它基本上是一个包含一堆坐标的网站列表。

在我的第二个文本文件fileB.txt中,它是一个仅包含网站名称的列表,例如:

AB101
AB307
AB209

我想做的是制作第三个文件,该文件仅包含fileB上列出的条目,但是具有fileA中显示的所有细节,即,使用上述条目,它将生成fileC.txt,如下所示:

AB307 0.112 0.220 0.341
AB101 0.223 0.474 0.175
AB209 0.245 0.199 0.222

有谁知道我怎么做,最好使用awk或类似的东西?

2 个答案:

答案 0 :(得分:6)

grep足以完成这项工作:

grep -Fwf fileB.txt fileA.txt
AB307 0.112 0.220 0.341
AB101 0.223 0.474 0.175
AB209 0.245 0.199 0.222

答案 1 :(得分:2)

这将打印文件行,其中第一个单词是文件C中的行

$ awk 'NR==FNR{a[$0];next}$1 in a' fileB fileA
AB307 0.112 0.220 0.341
AB101 0.223 0.474 0.175
AB209 0.245 0.199 0.222