如何捕获以字符“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

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

5回复

包含'x'但不包含'y'的Unix grep正则表达式

我需要一个包含unix grep的单行正则表达式,包括alpha,但不包含beta。
2回复

Linux grep-从x到y的文件中打印数字

我只是问过如何从-10和10开始打印,尽管我现在已经了解了,但我不知道如何从不同范围进行打印。 从-8到23。 我最初做的 打印范围从-24到24 从-8打印到8。 我怎么能互相结合,结果将是-8 .. 23?
1回复

UNIX终端中grep中的Lookaheand&Lookafter

我有一个快速的问题,我只是想知道如何在unix终端的grep中使用lookahead和lookafter? 我想知道如何打开?=和?<=等的特殊含义。 我希望你们能给我一些建议。 提前谢谢了。 :p
1回复

如何在Unix中对此模式进行grep

我想为这种特殊的模式grep。 模式如下 在文件test.txt中,其中包含以下数据 我尝试使用grep“ ** xMT123xMT123x ** ABCxxxxxxxxxxxxxxx_123_29887” test.txt,但未返回任何内容。 请指教 编辑: 嗨
1回复

UNIX:如何使用变量作为文件的搜索参数在脚本中grep?

在开始之前,这并不完全是看起来,我确实在网上搜索了一段时间后才来到这里。 基本上,我有一个脚本,用户在其中传递字符串并将其存储在变量中。 然后,我必须使用该单词并在词典文件中搜索可以从中获得的所有子单词。 我遇到的问题是我需要确保单词的长度至少为4个字符。 我对正则表达式没有最好的了解。
3回复

使用Regex的Unix grep

在Unix中,我需要使用grep的输入验证: echo $INPUT| grep -E -q '^foo1foo2foo3' || echo "no" 我真正需要的是,如果输入至少与以下值之一不匹配: foo1 foo2或foo3 ,请退出程序。 来源:语法取自“ 验证参数”到
3回复

Unix:使用grep -Rn查找字符串

我想使用grep -Rn命令在目录中找到字符串$foo['bar'] 。 但是,无论我尝试什么,我都无法找到避免正则表达式使用的特征。 我必须使用grep -Rn命令,而不要使用另一个命令。 非常感谢 !
1回复

Unix:使用grep的二进制字符串

如何使用grep命令在二进制字符串中显示至少3个1? 我尝试了这个egrep '[1]{3,}'但是该命令仅显示连续的1。 提前致谢!
2回复

grep OR命令无法正常运行unix solaris

我可以做单个grep,但是不能在unix solaris中进行OR搜索 请参阅以下我尝试过的示例...
1回复

使用grep计数不必要的单词(Unix)

我正在尝试计算每行的最后一个单词中出现水和火的单词的次数 我的解决方案: 我得到的输出是: 我期望得到的是: