我正在尝试编写一个正则表达式来从 /etc/samba/smb.conf中提取所有非注释和非空行。注释是这样的行:
- 从...开始 #
- 从...开始 ;
- 以任意数量的空格开头,紧跟 # 或 ;
我尝试了以下方法,但它没有正确处理评论类型 3。
grep -P '^\s*[^#;]' /etc/samba/smb.conf
这个适用于所有 3 种类型的评论:
grep -P '^\s*[^#;\s]' /etc/samba/smb.conf
您能解释一下为什么在字符类中添加 \s 会成功过滤掉注释类型 3 吗?