[問題] 如何使用 sed 修改檔案內容?

作者: zhucc (阿朱哥)   2016-04-07 14:59:38
我想修改 /etc/hosts 檔案裡面的某一行
本來是傻傻的直接去修改那一行
sed -i "5c $iip fl01.com" /etc/hosts
但是後來覺得這樣有點風險
因為萬一改天忘記了去改變到行數、修改就有可能失敗
所以想請教有沒有辦法針對不特定的行數去做修改
變動的是前面的 ip
不變的是後面的 fl01.com
作者: kerwinhui (kezza)   2016-04-07 15:41:00
先用/pattern/去找你要的行數…
作者: soem (流水)   2016-04-07 16:19:00
sed -i -r "s/^[0-9.]+\\s+fl01\.com\$/$iip fl01.com/"\\. 打錯了也行?原來有容錯
作者: kerwinhui (kezza)   2016-04-07 17:43:00
sed -i -r '/\s+fl01\.com\s+$/c '$iip' fl01.com' \/etc/hosts或者不用 extended regexpsed -i '/ fl01\.com$/c '$iip' fl01.com' /etc/hosts
作者: abelyang (Abel)   2016-04-14 14:53:00
sed -i "s/^.*[ \t]fl01\.com.*$/${iip} fl01.com/"

Links booklink

Contact Us: admin [ a t ] ucptt.com