根据另一个文件过滤文件条目作为匹配条件

时间:2014-04-03 12:24:01

标签: bash file filtering editing

真正的bash和脚本初学者很抱歉,如果这对你来说是非常基本的问题。

我有大约100万行的file1在每一行包含两个字段。 我有~270,000行的file2,每行都有单个条目。它与file1字段1相同。

目标是根据file2条目从file1中获取筛选列表(保留filed1和field2条目)。

示例:

file1

1 A

2 B

3 C

4 C

5 D

6 A

7 G

8 K

122 F

.

.

56677 A

.

7272727272 A

1.000.000 A

File2:

1

2

3

9

122

56677

7272727272

我希望根据file2过滤第一列,输出应该是这样的:

1 A

2 B

3 C

122 F

56677 A

7272727272 A

1 个答案:

答案 0 :(得分:1)

尝试这一行,如果它给出了预期的输出:

grep -Fwf file2 file1

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