2013-10-31 140 views
0

我想註釋掉這一行/etc/hosts如何使用bash替換字符串

127.0.0.1 test test 

成爲:

#127.0.0.1 test test 

如何在bash命令行一個襯墊做到這一點找到剛剛以127開頭的行?我正在使用Ubuntu 12.04。

感謝

回答

3

您可以使用sed(1)

sed -i '/^127/s/^/#/' /etc/hosts 

-i意味着做置換到位,所以替代發生在/etc/hosts,而不是標準輸出這是標準。

'/^127/s/^/#/''/^127/'意味着找到以127的線(^是線錨的開始),所述s/^/#/替代用#該行的開始。

2

我想你可以用下面的命令做到這一點:

sed -i 's/127.0.0.1 test test/#127.0.0.1 test test/g' /etc/hosts 
2

嘗試使用sed

sed -i.bak 's/^127/#&/' /etc/hosts 

-i.bak - 到位更換,並與創建備份文件.bak的