Linux
SED 查找並替換為“或”
經過我自己的一些Google搜尋/研究後,我還沒有找到明確的答案,
我正在搜尋整個 /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或localhost。
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'
我認為您必須將其放在引號中:
find * | xargs sed -i "a/127.0.0.1|localhost/ser.ver.ip.addr/g"