我想从与某些字符串匹配的文件中删除行。这些字符串包含斜杠,即'/'。我的问题是,尽管您可以使用 sed 更改分隔符以进行替换,但使用 delete 选项似乎无法这样做。
即这不起作用,因为 $x 中的斜线:
sed --in-place "/$x/d" total-list.csv
其中 $x 是例如“ http://someurl.com/uri ”。但是在使用 d 选项时,您似乎无法更改分隔符(例如,我需要它是 ~,而不是 /)。
有人可以帮忙吗?
谢谢保罗
我想从与某些字符串匹配的文件中删除行。这些字符串包含斜杠,即'/'。我的问题是,尽管您可以使用 sed 更改分隔符以进行替换,但使用 delete 选项似乎无法这样做。
即这不起作用,因为 $x 中的斜线:
sed --in-place "/$x/d" total-list.csv
其中 $x 是例如“ http://someurl.com/uri ”。但是在使用 d 选项时,您似乎无法更改分隔符(例如,我需要它是 ~,而不是 /)。
有人可以帮忙吗?
谢谢保罗
你可以说:
sed --in-place "\~$x~d" total-list.csv
引用手册:
\%正则表达式%
(
%
可以用任何其他单个字符替换。)这也匹配正则表达式 regexp,但允许使用不同于 . 的分隔符
/
。如果正则表达式本身包含大量斜杠,这将特别有用,因为它避免了对每个/
. 如果 regexp 本身包含任何分隔符,则必须使用反斜杠 (\
) 对每个分隔符进行转义。