【发布时间】:2013-10-31 07:34:51
【问题描述】:
我想在/etc/hosts中注释掉这一行:
127.0.0.1 test test
变成:
#127.0.0.1 test test
如何在 bash 命令行中使用单行来查找以 127 开头的行?我正在使用 Ubuntu 12.04。
谢谢
【问题讨论】:
我想在/etc/hosts中注释掉这一行:
127.0.0.1 test test
变成:
#127.0.0.1 test test
如何在 bash 命令行中使用单行来查找以 127 开头的行?我正在使用 Ubuntu 12.04。
谢谢
【问题讨论】:
你可以使用sed(1):
sed -i '/^127/s/^/#/' /etc/hosts
-i 表示就地替换,所以替换发生在/etc/hosts,而不是标准输出上。
在'/^127/s/^/#/'中,'/^127/' 表示查找以 127 开头的行(^ 是行锚的开始),s/^/#/ 用# 替换该行的开始。
【讨论】:
尝试使用sed
sed -i.bak 's/^127/#&/' /etc/hosts
-i.bak - 用 .bak
【讨论】:
我认为您可以使用以下命令执行此操作:
sed -i 's/127.0.0.1 test test/#127.0.0.1 test test/g' /etc/hosts
【讨论】: