预先将文本附加到linux中的一行

时间:2014-05-27 15:16:52

标签: linux awk sed

如何通过将#放在linux中的行之前取消注释一行:

我想取消注释行

pg_hbf.conf文件
"host    all             all             127.0.0.1/32            md5" 
"host    all             all             0.0.0.0/0            md5"

并保存更改。

我想从命令行执行此操作。

1 个答案:

答案 0 :(得分:0)

试试这个,

sed -ri '/^host/ s/^(.*)$/#\1/g' file

示例:

$ sed -r '/^host/ s/^(.*)$/#\1/g' file
#host    all             all             127.0.0.1/32            md5
#host    all             all             0.0.0.0/0            md5

$ sed -r '/^\"host/ s/^(.*)$/#\1/g' file
#"host    all             all             127.0.0.1/32            md5
#"host    all             all             0.0.0.0/0            md5

$ sed -r '/host.*127\.0\.0\.1\/32.*/ s/^(.*)$/#\1/g' file
#host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0            md5

$ sed -r '/host.*0\.0\.0\.0\/0.*/ s/^(.*)$/#\1/g' file
host    all             all             127.0.0.1/32            md5
#host    all             all             0.0.0.0/0            md5