查找和替换字符串及其后续内容

时间:2012-03-27 20:52:36

标签: regex sed

我在sql转储文件(.sql)中有以下链接。 我需要使用'sed或grep with regex'或其他东西来代替每次出现  #cheese-pasta=以及其后的任何内容,包括斜杠。

示例:

 <a href="somelink/#cheese-pasta=2011-13\">
  <a href="somelink/#cheese-pasta=\">

更换后,这将是:

<a href="somelink/">

我可以像sed /#cheese-pasta=/ /g那样做一些事情。 但是,问题是字符串后跟其他东西,我想要将其后面的内容替换为结束链接标记的引用()

非常感谢。

1 个答案:

答案 0 :(得分:1)

你可以写:

sed 's/#cheese-pasta=[^\\]*\\//g'

将替换#cheese-pasta=,后跟零个或多个不是反斜杠的字符,后跟反斜杠。

可替换地:

sed 's/#cheese-pasta=[^"]*"/"/g'

(相同的概念,但使用"代替\来查找要替换的文本的结尾。