我正在學習sed,但是我很難理解它。sed:替換主機文件中的ip,使用主機名作爲模式
我有adsl動態ip,所以我想把當前IP上的主機文件。
這下面的腳本只是告訴我當前的廣域網IP地址,並沒有更多:
IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
echo $IP
結果:
192.42.7.73
所以,我對主機上符合舊的IP地址文件:
190.42.44.22 peep.strudel.com
,我想更新主機文件是這樣的:
192.42.7.73 peep.strudel.com
我該怎麼辦?我想我可以使用主機名作爲模式...
這樣做的原因是因爲我的服務器是我的路由器的客戶端,所以它通過它的網關訪問互聯網,而不是直接訪問互聯網。而且postfix總是記錄我「從unknown [x.x.x.x]」連接(其中x.x.x.x是我的wan IP!),並且它無法解析該IP。我認爲,也許如果我指定這與我的fqdn主機/域相關,在主機文件上它會更好地工作。
謝謝 塞爾吉奧。
謝謝,我用你的第二個例子(所有在1命令行),添加-i參數sed保存文件,如Avinash拉吉和蒂亞戈建議。它的作品:)(注意:我添加了更多的空間之前(+ peep.strudel.com),匹配原始帖子的編輯) – sergius 2015-02-12 11:03:13
太棒了! :D.I我在命令行中使用這段代碼「+」照顧空間peep.strudel.com – repzero 2015-02-12 11:06:46
我+1這個問題,以便您可以達到15代表投票! – repzero 2015-02-12 11:09:07