sed删除选项更改分隔符

时间:2013-10-31 17:27:17

标签: sed

我想从匹配特定字符串的文件中删除行。这些字符串包含斜杠,即' /'。我的问题是虽然您可以使用sed更改分隔符以进行替换,但使用delete选项似乎无法执行此操作。

即。由于$ x中的斜杠,这不起作用:

sed --in-place "/$x/d" total-list.csv

其中$ x例如" http://someurl.com/uri"。但是在使用d选项时你似乎无法更改分隔符(例如,我需要它来代替/)。

有人可以为此提供帮助吗?

由于 保罗

1 个答案:

答案 0 :(得分:11)

你可以说:

sed --in-place "\~$x~d" total-list.csv

引用manual

  

\%的regexp%

     

%可以替换为任何其他单个字符。)

     

这也匹配正则表达式regexp,但允许使用与/不同的分隔符。如果是这个特别有用   regexp本身包含很多斜杠,因为它避免了繁琐   逃避每个/。如果regexp本身包含任何分隔符   每个字符都必须用反斜杠(\)进行转义。