我有一个大数据文件(data.txt)和一个模式文件(patt.dat),数据如下

data.txt

[bottle]:[some description 1]
[pen]:[some description 2]
[mobile]:[some description 3]
[pen_pencil]:[some description 4]
[mouse]:[some description 5]

patt.dat
pen
mobile

我给这样
grep -F -f patt.dat data.txt

然后我得到以下
[pen]:[some description 2]
[mobile]:[some description 3]
[pen_pencil]:[some description 4]

但我只想要
[pen]:[some description 2]
[mobile]:[some description 3]

请提供任何解决方案的帮助。
我不想硬编码任何东西,因为会有很多这样的模式,而且硬编码看起来都不好。

如果可以通过其他任何方式实现相同的效果,请也建议这样做。

最佳答案

使用-w进行单词匹配,例如:

grep -wf patt.dat data.txt
Output:
[pen]:[some description 2]
[mobile]:[some description 3]

关于linux - 如何使用sed或awk在单独的文件中grep带有模式的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28164363/

10-15 12:12