【问题标题】:grep - Print line with matching pattern, starting from the matched patterngrep - 从匹配的模式开始打印具有匹配模式的行
【发布时间】:2017-02-23 19:01:16
【问题描述】:

例如如果我有一个文件包含:

spam eggs ham

我会grep <some-flag> "eggs" *

我应该得到如下输出:

eggs ham

而不是

spam eggs ham

【问题讨论】:

    标签: grep pattern-matching


    【解决方案1】:
     $ echo "spam eggs ham" | grep -o 'eggs.*'
     eggs ham
    
    • grep -o
      这用于仅打印匹配的文本部分。
    • eggs.*
      这意味着,鸡蛋跟随任何东西(点通知任何字符,星号表示零个或多个匹配)

    【讨论】:

    • 谢谢! .* 是做什么的?为什么* 只能在这里正常工作?
    • 感谢您的澄清。我发现的一项改进是添加 -h 来抑制文件名前缀。