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


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM