如何去掉linux配置文件的注释行和空行

http://weiliu.blog.51cto.com/4745137/822201

 

1、使用grep -v "^#"  来去掉注释行,其中:-v  就是取相反的   ^# 表示以#开头的行

eg. grep -v "^#" /etc/vsftpd/vsftpd.conf (也可以使用“>”来重写配置文件)

2、有时也会连同空行一起去掉,使用管道符来完成(^$表示空行  )

eg. grep -v "^#"  httpd.conf | grep -v "^$"  >> vsftpd.conf

上面用了 2次 grep 过滤命令 ,也就是把空行和注解行过滤掉,再把剩下的内容追加保存为原

来的配置文件 vsftpd.conf  这个时候就文件里的内容就没有注解行和空行了,,,,

3、备注:在更改配置文件时,建议先对配置文件做一下备份,对配置文件不熟悉的建议不要用这种方法,配置文件中的注解行还是有一定的帮助的。

cp  -a  httpd.conf  httpd.conf.bak

4、shell储备知识:

^一行的开始 ^d以开头的  ^..1 第三个为1的字符   ^字符要放在匹配的字符前面
$一行的末尾 ^$ 表示空行 ^.$匹配一行一个字符的  $字符要放在匹配的字符后面
*匹配任意个字符  包括0个字符 .表示单个字符
\可以屏蔽一个特殊的字符 \*\.pas 这里的*是特殊字符,这样就表示*.pas这个文件
逗号可以分割不同的匹配字符如[S,s]表示S或者s都可以
-表示一个范围,[1-9],[a-z],[A-Z]  [1-9 A-Z a-z]任意的字符或者数字
A\{2\}B 表示A出现了2次  AAB
A\{4,\}B 表示A至少出现4次 AAAAB,AAAAAB
A\{2,4\}B 表示A出现2-4次  AAB AAAB AAAAB
[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}  0-999.0-999.0-999.0-999

 

cat server.conf |grep -v "^[#,;]" |grep -v "^$"

image

posted @ 2014-03-30 22:58  adodo1  Views(244)  Comments(0Edit  收藏  举报