【问题标题】:grep string after what I specify [duplicate]我指定后的grep字符串[重复]
【发布时间】:2011-11-19 02:11:15
【问题描述】:

我正在使用 grep,我想在我指定的字符串之后获取数据。我想在我指定的内容之后获取字符串。如果我 grep“标签:”我得到“标签:蓝色标签:红色标签:绿色”。我只想得到颜色。如果我说 grep -o 我会得到所有的标签。如果我说 -l 它说(标准输出)。有什么想法吗?

【问题讨论】:

    标签: linux grep


    【解决方案1】:

    您可以使用sed 消除单词标签,例如

    grep "label:" | sed s/label://g
    

    【讨论】:

    • ...虽然grepuseless; sed -n '/label:/s///gp'
    【解决方案2】:

    Grep 是一个只能用于过滤文本行的工具。要执行更复杂的操作,您可能需要更复杂的工具。

    例如,sed 可以在这里使用:

    sed 's/.*label: \(.*\)/\1/'
    

    这样的文字...

    label: blue
    llabel: red
    label: green label: yellow
    

    变成这样:

    blue
    red
    yellow
    

    如您所见,此sed 命令仅返回搜索模式之后的内容,并且不支持每行多个匹配项。

    【讨论】:

      猜你喜欢
      • 2012-10-18
      • 2019-08-19
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 2019-01-05
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      相关资源
      最近更新 更多