假设我有一个如下所示的txt文件:
pattern 1
pattern 2
pattern 3
some information
pattern 1
pattern 2
pattern 3
some other information
.....
有没有办法同时匹配模式1,模式2和模式3(它们在不同的行中)? 该文件包含其他内容。它在开始和结束时都有我不想要的东西。我只想提取上面描述的文件部分。
答案 0 :(得分:1)
考虑使用|
同时匹配多个模式
/pattern1|pattern2|pattern3/
答案 1 :(得分:0)
grep 'pattern 1\|pattern 2\|pattern 3' /your/file.txt
您需要在模式之间转义垂直条,但这将打印任何与这三种模式中的任何一种相匹配的行。
如果你只想匹配这三个模式在不同的行上以特定顺序出现,那么你会遇到一个稍微不同(也就是更复杂)的问题。
答案 2 :(得分:0)
您可以使用()
egrep进行分组pattern
和数字。
egrep "(pattern 1|pattern 2|pattern 3)" file
pattern 1
pattern 2
pattern 3
pattern 1
pattern 2
pattern 3