【发布时间】:2015-03-06 10:10:59
【问题描述】:
我在一个文件中有一组模式字符串,我想让grep 找到匹配所有模式的行(逻辑与)。
在我的示例中,我只想找到包含 1 和 2(即 12)的最后一行,但匹配中实际发生的是逻辑 OR,因此返回所有行:
test_file.txt:
1
2
12
pattern.f:
1
2
然后我运行这个命令:
$ grep -f pattern.f test_file.txt
1
2
12
我可以让grep 在一行中做我想做的事吗?我真的不想编写脚本来读取模式匹配文件并循环一堆 grep 或使用管道 (grep 1 test_file.txt | grep 2)。
【问题讨论】:
-
谢谢,但我实际上并不是在搜索 1 和 2,我只是做了一个简单的测试用例。我实际上正在搜索 icache 和 tagram3 之类的字符串,这些将在 patern.f 文件中,而 test_file.txt 将包含以下行: 24 256 6 1 1.667 # i_cpu2_socwrap - 内存实例 i_europa_top:i_europa_switched_top:i_europa_core:i_cpu2_socwrap:i_m14k_cpu .icache.tagram.tag0:str
-
使用此数据编辑您的问题。在 cmets 中,代码不容易看懂。
-
太棒了 :) 完美。谢谢
标签: regex string grep pattern-matching