ファイルのコメント行、空行を除いて表示するコマンド
コメント行は先頭が「;」とします。
grep -v -e ';' -e '^$' /tmp/test.conf
- grep → 文字列を検索する
- -v → マッチしない行を検索結果として表示する
- -e pattern → 検索条件を指定する
- ‘pattern‘ → 検索条件は「’」で囲む
- ^ → 行の先頭を表す
- $ → 行の末尾を表す
コメント行であることを示す印は「;」でしたけれど、「#」や「//」などいろいろなパターンがございます。そのときは、’;’ 部分を変更してくださいまし。
このコマンドでは、空白行がなぜか幾つか表示される場合がありましたの。これ、スペースのみの行でしたわ。
ゴミが多少残ってしまいましたけれどもこの程度であれば手動で削除するのは世簡単ですの。ですのでこのままでも充分実用的と考えておりますわ。
やってみたらこんなかんじに♪具体例!
nginx 導入のために、php-fpm の設定ファイルを編集しておりました。コメントが充実していらっしゃって、大変ありがたいのですけれども、逆に設定した内容が埋もれてしまう、という欠点もございます。
有効な設定部分だけ、抜き出したいですの!
そこで、今回のコメントですわ♪
grep -v -e ';' -e '^$' /etc/php-fpm.d/www.conf
すると、結果は次のようになりました。
[www] listen = /var/run/php-fpm/php-fpm.sock listen.allowed_clients = 127.0.0.1 listen.owner = apache listen.group = apache listen.mode = 0660 user = apache group = apache pm = dynamic pm.max_children = 15 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 5 slowlog = /var/log/php-fpm/www-slow.log php_admin_value[error_log] = /var/log/php-fpm/www-error.log php_admin_flag[log_errors] = on php_value[session.save_handler] = files php_value[session.save_path] = /var/lib/php/session
空白行が残っているかしら?と思ったのですけれども、スペースがあったのでした。この部分を手動で削除して完了ですの♪
おわりに
このコマンド、もしかしたら以前にもノートしたのかもしれません。なんとなく、そんな気がいたしますの。。。
あ、やっぱりございました。。。こちらの投稿で、軽く触れておりますの。本投稿では詳しく取り挙げて説明いたしましたので、コピーにとどまらず、少しホッといたしました。
以上です。