grep 具有多个匹配项的单个模式

grep 具有多个匹配项的单个模式

我有一个文件 ( X.txt),其中包含唯一条目列表。我想使用此文件从grep另一个文件中Y.txt提取单个模式的多个条目X.txt

X.txt包含:

A.0  
B.0
C.1
D.1

Y.txt包含:

A.0  10
A.0  11
A.1  10
B.0  18
C.1  5
D.1  19
D.1  36
D.2  51

期望输出:

A.0  10
A.0  11
B.0  18
C.1  5
D.1  19
D.1  36

如果它们是唯一的,那么只需使用就grep -w -f X.txt Y.txt可以了。但有人能帮我修改grep以获得所需的输出或使用吗awk

答案1

看起来grep -w没有拾取 A.0 行,因为文件 X.txt 在该行上有尾随空格(违反了 -w 的单词边界要求)。尝试使用“固定字符串模式”标志,-F

grep -Ff X.txt Y.txt

这也是可行的,因为文件已经排序:

join X.txt Y.txt

相关内容