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

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

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

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

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

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

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

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

cp  -a  httpd.conf  httpd.conf.bak注释

四、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 "^$"

相关文章
相关标签/搜索