网站搜索

如何在Linux中查看不带注释的配置文件


您是否正在查看一个极其冗长的配置文件,其中包含数百行注释,但只想从中过滤重要的设置。在本文中,我们将向您展示在 Linux 中查看不带注释的配置文件的不同方法。

另请阅读:ccat – 通过语法突出显示或着色显示“cat 命令”输出

您可以使用 grep 命令来达到此目的。以下命令将使您能够在没有任何注释的情况下查看 PHP 7.1 的当前配置,它将删除用于注释的以 ; 字符开头的行。

请注意,由于 ; 是特殊的 shell 字符,因此需要使用 \ 转义字符来更改其在命令中的含义。

grep ^[^\;] /etc/php/7.1/cli/php.ini

在大多数配置文件中,# 字符用于注释掉一行,因此您可以使用以下命令。

grep ^[^#] /etc/postfix/main.cf

如果您的行以一些空格制表符开头,而不是#;字符,该怎么办?您可以使用以下命令,该命令还应删除输出中的空格或行。

egrep -v "^$|^[[:space:]]*;" /etc/php/7.1/cli/php.ini 
OR
egrep -v "^$|^[[:space:]]*#" /etc/postfix/main.cf

从上面的例子来看,-v开关表示显示不匹配的行;而不是显示匹配的行(它实际上颠倒了匹配的含义)并在模式“^$|^[[:space:]]*#”中:

  • ^$ – 允许删除空格。
  • ^[[:space:]]*#^[[:space:]]*; – 启用以 # 开头的行的匹配 或 ; 或“一些空格/制表符。
  • | – 中缀运算符连接两个正则表达式。

还可以在以下文章中了解有关 grep 命令 及其变体的更多信息:

  1. Linux 中的 Grep、Egrep 和 Fgrep 有什么区别?
  2. 11 个关于字符类和括号表达式的高级 Linux ‘Grep’ 命令

目前为止就这样了!我们很乐意听取您的意见,通过下面的反馈表与我们分享查看配置文件的任何替代方法,而不需要发表评论。