关于grep过滤配置文件中的#注释

本文介绍了在处理配置文件如nginx.conf时,如何使用grep命令有效地过滤掉包含#的注释行。常见的方法存在缺陷,不能处理以空格开头的注释。作者提出了改进的grep命令,通过匹配空行和#前可能的空格,成功去除所有注释,且不影响正文后的代码行。
摘要由CSDN通过智能技术生成

网上很多关于grep过滤#注释的方法都是 grep -v '^#'

使用后发现这种方法有缺陷,就是有些注释并不是以#开头的,而是带有空格然后再是#

于是就自己研究了下“正确”的过滤空行+注释的方法。

grep -Ev '^$|^\s*#'

^$ 匹配空行。

^\s*# 与原来的^#相比,增加了使用 \s* 来匹配 # 前面可能会出现的空格。

注: 注释#在正文后方的代码行不会有影响。

例如nginx.conf的原配置文件

[root@master-1:/usr/local]# cat /etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
   
    worker_connections 768;
    # multi_accept on;
}

http {
   

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    defau
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值