Linux
 Computer >> コンピューター >  >> スマートフォン >> Linux

【Linux】sedコマンドでコメント行を除外して設定ファイルを見やすく確認する方法

このガイドでは、Linux環境で設定ファイルからコメント(注釈)行を取り除いて表示するための、いくつかの実用的な方法をご紹介します。

設定ファイル編集時によくある悩み

httpd.conf(Apache)やsquid.conf(Squid)といった設定ファイルを編集する機会は、サーバー管理者なら少なくないでしょう。これらのファイルには、説明用のコメントや、デフォルトでは不要なためにあらかじめコメントアウトされている設定ディレクティブが大量に含まれています。

そのため、実際に有効なディレクティブを探そうとすると、何十行ものコメント行をスクロールしなければならず、非常に手間がかかります。そんな悩みを解決してくれるのが、sedコマンドを使った以下の方法です。

コメント行をすべて除外して表示する

Apacheの設定ファイルから、有効なディレクティブだけを確認したい場合は、次のコマンドを実行します。

# sed '/ *#/d; /^ *$/d' /etc/httpd/conf/httpd.conf

このコマンドは、ファイル /etc/httpd/conf/httpd.conf を読み込み、「#」を含む行(直前の空白を含む)と空行をすべて削除し、有効な設定内容だけを出力します。これにより、どの設定が実際に適用されているのかが一目でわかり、ファイルの確認作業が格段に楽になります。

行頭が「#」のコメント行のみ除外する

行頭が「#」で始まるコメント行だけを除外したい場合は、こちらのコマンドを使用します。

# sed '/^#/d; /^ *$/d' /etc/httpd/conf/httpd.conf

先ほどのコマンドとの違いは、最初のパターンで * の代わりに ^ を使っている点だけです。^ は正規表現(regex)において「行頭」を意味するメタ文字です。この指定により、行の途中に「#」が含まれる行はそのまま残され、行頭から始まる純粋なコメント行のみが削除されます。

応用:結果を読みやすく・保存する

出力結果をゆっくり確認したい場合は、less にパイプすると便利です。

# sed '/ *#/d; /^ *$/d' /etc/httpd/conf/httpd.conf | less

また、フィルタリングした結果をリダイレクトで別ファイルに保存しておけば、後から参照する際にも役立ちます。

# sed '/ *#/d; /^ *$/d' /etc/httpd/conf/httpd.conf > active_settings.txt

まとめ

sedコマンドを使えば、長大な設定ファイルからコメント行と空行を簡単に取り除き、有効な設定だけを素早く把握できます。日々のサーバー管理業務の効率化に、ぜひ活用してみてください。

補足: 環境によっては上記のコマンドが期待どおりに動作しない場合があります。その際は、各種フォーラムや記事のコメント欄に投稿されている代替案も参考にしてみてください。

  1. Macでhostsファイルを編集する方法|サイトのブロックとリダイレクト設定ガイド

    Windowsパソコンと同様に、Macにもインターネット上のサイトへの接続方法を制御するための「hostsファイル」が標準で用意されています。このファイルにはサイトのドメイン名とIPアドレスの対応関係が記録されており、さまざまな用途に活用できます。 hostsファイルを編集する主な理由は2つあります。1つ目は、特定のサイトへのアクセスをブロックすること。2つ目は、自分のWebサイトをローカル環境でテストすることです。hostsファイルを使えば、指定したドメイン名をローカルストレージのネットワークパスへ振り向けることも可能です。 Macのhostsファイルの場所 hostsファイルの編

  2. PDFファイルにコメントを追加する方法を徹底解説

    電子書籍の普及により、本や小説をPDF形式で読む機会が大きく増えました。しかし、電子書籍は紙の本と違い長文になりがちで、一度に読み切るのは難しいものです。実際の本を読むときのように、重要な箇所に印をつけたり、後で見返したい部分に目印を残したりしたいと思ったことはありませんか。PDFドキュメントには複数のコメントを追加できるため、しおり代わりに活用すれば読書の効率がぐっと向上します。 PDFにコメントを追加する手順 PDFファイルの任意のページにコメントを追加するには、「UPDF」というサードパーティ製アプリを利用します。以下の手順に従ってください。 ステップ1: 公式サイトからUPDFアプリ