如何捕获以字符“X”开头或包含单词“foo”的文本文件中的所有行?

这有效:

cat text | grep '^@'  # begins with @

但我试过了:

cat text | grep '^@|[foo]' 

和变化,但无法在任何地方找到正确的语法。 如何才能做到这一点?

谢谢。

===============>>#1 票数:10 已采纳

如果你的grep实现不符合POSIX,你可以使用egrep而不是grep:

egrep '^@|foo' text

===============>>#2 票数:3

cat text | grep '^@|foo'

做这个。 [foo]匹配一个fo字符。

如果你不想在foobar匹配像foo这样的单词部分,请使用单词边界锚点:

cat text | grep '^@|\bfoo\b'

===============>>#3 票数:1

contains the word "foo"是: (.*foo.*)所以你的正则表达式会变成:

cat yourFilePath | grep -E '^@|(.*foo.*)'

  ask by translate from so

未解决问题?本站智能推荐: