Linux 删除配置文件注释行和空行

方法一: grep

以server.conf文件为例

  • 删除以#开头的行,grep显示以#开头的行("^#"),然后 -v 取反,则显示去掉以#开头的行

    grep -v "^#" server.conf 
    
  • 删除空行,grep显示空行("^$"),然后 -v 取反,则显示去掉空行的行

    grep -v "^$" 
    
  • 同时去掉空行和注释行,更改则需重写至其他文档如test.conf

    grep -v "^#" server.conf | grep -v "^$"  >> test.conf
    

方法二: sed

以server.conf文件为例,加参数 -i 写入更改文件,不加则预览显示

  • 找到以#开头的行(^#)并用参数 d 删除,,以下两种都可以。
    sed '/^#/d' server.conf
    sed '/#/d'  server.conf
    
  • 找到空行(^$)的行,用参数 d 删除,并显示
    sed '/^$/d' server.conf
    
  • 删除注释行和空行,并更改写入文件
    sed -i -e '/#/d;/^$/d' server.conf
    
    注:这里一定要用 -e,否则会出现 unterminated substitute pattern

猜你喜欢

转载自blog.csdn.net/weixin_52270081/article/details/120564024