[问题] 如何使用 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