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