使用 sed 编辑器替换包含反斜杠的字符串

Using sed editor to replace a string containing backslash

如何使用 sed 替换包含反斜杠的字符串“\”是特定目录的所有文件。

我试过了,但对我不起作用

find /home/tds/nfb -type f -exec sed -i 's//var/www/tds///home/tds//' {} \;

我想用“/home/tds/”替换“/var/www/tds/”

你可以做到

find /home/tds/nfb -type f -exec sed -i 's|/var/www/tds/|/home/tds/|' {} \;

其中分隔符 / 替换为 |。 (sed 几乎可以使用任何字符作为定界符——它会选择 s 之后的任何字符)。或者,您可以按如下方式转义所有反斜杠并仍然使用 \:

sed -i 's/\/var\/www\/tds\//\/home\/tds\//'