【问题标题】:Sed or Grep to replace until end of line after pattern matchSed 或 Grep 在模式匹配后替换直到行尾
【发布时间】:2013-10-27 23:02:08
【问题描述】:

我需要在模式匹配后替换所有字符直到行尾,同时保持匹配的模式

    blhablahPATTERN1XXXXXX

应该读

    blhablahPATTERN1STUFFI_WANT_TO_INSERT

到目前为止,我尝试的所有方法也都删除了 PATTERN1...

【问题讨论】:

  • 到目前为止你到底尝试了什么?

标签: sed awk grep


【解决方案1】:

使用sed

sed -r 's/(PATTERN1).*/\1STUFFI_WANT_TO_INSERT/' file

您需要捕获 PATTERN1 并在替换字符串中使用\1

【讨论】:

  • 我讨厌只发布第一个答案并获得投票的答案;)
  • .* 将匹配到行尾,因此您不需要 $
  • 做到了。感谢您的帮助!
  • @devnull 编辑了答案。我以为$ 不会受伤。
最近更新 更多