sed命令用斜杠替换字符串
sed command to replace string with slashes
我需要一个 sed
命令来替换配置文件中包含 /
.
的一行
我想在文件中将 /var/log/haproxy
更改为 /root/myDir/haproxy
。
你能帮忙吗?提前致谢。
如果要替换包含斜杠的字符串,只需为 sed
表达式使用不同的分隔符:
sed 's@/var/log/haproxy@/root/myDir/haproxy@g' <file>
这是一个例子:
$ echo /var/log/haproxy | sed 's@/var/log/haproxy@/root/myDir/haproxy@g'
/root/myDir/haproxy
sed
将自动使用 s
后面的任何字符作为分隔符。这些也将起作用:
$ echo /var/log/haproxy | sed 's#/var/log/haproxy#/root/myDir/haproxy#g'
/root/myDir/haproxy
$ echo /var/log/haproxy | sed 's^/var/log/haproxy^/root/myDir/haproxy^g'
/root/myDir/haproxy
$ echo /var/log/haproxy | sed 's%/var/log/haproxy%/root/myDir/haproxy%g'
/root/myDir/haproxy
您也可以只转义路径中的 /
并继续使用 /
,但这更难阅读,所以我不推荐它:
$ echo /var/log/haproxy | sed 's/\/var\/log\/haproxy/\/root\/myDir\/haproxy/g'
/root/myDir/haproxy
我需要一个 sed
命令来替换配置文件中包含 /
.
我想在文件中将 /var/log/haproxy
更改为 /root/myDir/haproxy
。
你能帮忙吗?提前致谢。
如果要替换包含斜杠的字符串,只需为 sed
表达式使用不同的分隔符:
sed 's@/var/log/haproxy@/root/myDir/haproxy@g' <file>
这是一个例子:
$ echo /var/log/haproxy | sed 's@/var/log/haproxy@/root/myDir/haproxy@g'
/root/myDir/haproxy
sed
将自动使用 s
后面的任何字符作为分隔符。这些也将起作用:
$ echo /var/log/haproxy | sed 's#/var/log/haproxy#/root/myDir/haproxy#g'
/root/myDir/haproxy
$ echo /var/log/haproxy | sed 's^/var/log/haproxy^/root/myDir/haproxy^g'
/root/myDir/haproxy
$ echo /var/log/haproxy | sed 's%/var/log/haproxy%/root/myDir/haproxy%g'
/root/myDir/haproxy
您也可以只转义路径中的 /
并继续使用 /
,但这更难阅读,所以我不推荐它:
$ echo /var/log/haproxy | sed 's/\/var\/log\/haproxy/\/root\/myDir\/haproxy/g'
/root/myDir/haproxy