ウェブサイト検索

Linux でコメントなしで構成ファイルを表示する方法


何百行ものコメントが含まれる非常に長い構成ファイルを調べていて、そこから重要な設定だけをフィルタリングしたいと考えていませんか。この記事では、Linux でコメントなしで構成ファイルを表示するさまざまな方法を説明します。

こちらもお読みください: ccat – 構文の強調表示または色付けを使用して「cat コマンド」出力を表示する

この目的には grep コマンドを使用できます。次のコマンドを使用すると、PHP 7.1 の現在の設定をコメントなしで表示でき、コメントに使用されている ; 文字で始まる行が削除されます。

; は特殊なシェル文字であるため、コマンド内でその意味を変更するには、\ エスケープ文字を使用する必要があることに注意してください。

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:]]*;# で始まる行のマッチングを有効にします または ; または 「いくつかのスペース/タブ。
  • | – 中置演算子は 2 つの正規表現を結合します。

grep コマンド とそのバリエーションの詳細については、次の記事を参照してください。

  1. Linux における Grep、Egrep、Fgrep の違いは何ですか?
  2. 文字クラスと括弧式に関する 11 の高度な Linux 'Grep' コマンド

それは今のところすべてです!コメントなしで構成ファイルを表示するための代替方法があれば、以下のフィードバック フォームからご意見をお待ちしています。