2012-07-02 60 views
2

如何在使用sed時「隨時」替換字符? 實施例:(sed初學者)替換env變量中的字符

欲允許執行該命令: /bin中/ sed的 'S/HOSTNAME = */HOSTNAME = server_domain_com/G' 的/ etc/SYSCONFIG /網絡代替這一個

: /bin中/ sed的 'S/HOSTNAME = */HOSTNAME = server.domain.com/G' 的/ etc/SYSCONFIG /網絡

字符串 「server.domain.com」 被包含在ENV變量,我想在替換/ etc/sysconfig/network中的相應行之前用下劃線替換這些點。

謝謝!

回答

2

你可以使用bash替代也做到這一點:

/bin/sed -i "s/HOSTNAME=.*/HOSTNAME=${HOSTNAME//./_}/g" /etc/sysconfig/network 

//指示它改變所有出現(如在SED克)。不要忘記-i標誌實際上更改文件,而不僅僅是打印它。

6
HOSTNAME=$(echo $HOSTNAME | sed s/from/to/g)