如何捕获以字符“X”开头或包含单词“foo”的文本文件中的所有行?
这有效:
cat text | grep '^@' # begins with @
但我试过了:
cat text | grep '^@|[foo]'
和变化,但无法在任何地方找到正确的语法。 如何才能做到这一点?
谢谢。
如果你的grep实现不符合POSIX,你可以使用egrep而不是grep:
egrep '^@|foo' text
cat text | grep '^@|foo'
做这个。 [foo]
匹配一个f
或o
字符。
如果你不想在foobar
匹配像foo
这样的单词部分,请使用单词边界锚点:
cat text | grep '^@|\bfoo\b'
contains the word "foo"
是: (.*foo.*)
所以你的正则表达式会变成:
cat yourFilePath | grep -E '^@|(.*foo.*)'