我想从匹配特定字符串的文件中删除行。这些字符串包含斜杠,即' /'。我的问题是虽然您可以使用sed更改分隔符以进行替换,但使用delete选项似乎无法执行此操作。
即。由于$ x中的斜杠,这不起作用:
sed --in-place "/$x/d" total-list.csv
其中$ x例如" http://someurl.com/uri"。但是在使用d选项时你似乎无法更改分隔符(例如,我需要它来代替/)。
有人可以为此提供帮助吗?
由于 保罗
答案 0 :(得分:11)
你可以说:
sed --in-place "\~$x~d" total-list.csv
引用manual:
\%的regexp%
(
%
可以替换为任何其他单个字符。)这也匹配正则表达式regexp,但允许使用与
/
不同的分隔符。如果是这个特别有用 regexp本身包含很多斜杠,因为它避免了繁琐 逃避每个/
。如果regexp本身包含任何分隔符 每个字符都必须用反斜杠(\
)进行转义。