SED 使用“OR”查找和替换

SED 使用“OR”查找和替换

经过一番谷歌搜索/研究后,我还没有找到明确的答案,

我正在寻找整个 /var/www/html/ 文件夹中搜索“127.0.0.1”的出现并将其替换为服务器 IP 地址(我们正在将数据库从本地箱中移出)。

这适用于 Localhost & 127.0.0.1。虽然我可以直接运行

find * | xargs sed -i a/127.0.0.1/ser.ver.ip.addr/g

两次,一次替换 127.0.0.1 和 localhost,我宁愿不必运行两个命令。

我是否可以执行 OR 语句而不破坏它?

就像是:

find * | xargs sed -i a/127.0.0.1|localhost/ser.ver.ip.addr/g

- - - - - - - - - - - - - - 编辑 - - - - - - - - - - -

我发现了一种更可靠的搜索和替换方法,

find * -type f -exec sed -i 's/127.0.0.1/ser.ver.ip.addr/g' {} \;

但是我似乎无法让搜索语句匹配 127.0.0.1或者本地主机。

答案1

find . -type f -print | xargs sed -i -e 's/127.0.0.1/207.200.19.177/g' -e 's/localhost/207.200.19.177/g'

答案2

我认为你必须将其放在引号中:

find * | xargs sed -i "a/127.0.0.1|localhost/ser.ver.ip.addr/g"

相关内容