設定ファイルの空行とコメント行を除外して表示
最終更新日:2020/11/19 | 公開日:2013/10/23
目次
概要
Linuxの設定ファイルにはパラメータの説明やデフォルト設定など たくさんのコメント行が挿入されています。 設定を検討する上では役に立つのですが、設定内容を確認しようとすると 可読性が悪かったりします。 設定ファイルから空行やコメントのみの行を除外して表示する方法を紹介します。
構成
サーバ構成
OSバージョン
Red Hat Enterprise Linux 5.9 x86_64
コマンド
cat ファイル名 | grep -v "^\s*$" | grep -v "^\s*#"
手順
設定ファイルをそのまま表示した場合
PostgreSQLの設定ファイル postgresql.conf ファイルの内容を cat コマンドで表示すると以下のようになっています。 ファイルの先頭からいきなりコメント行や空行が続いています。
# cat postgresql.conf
# -----------------------------
# PostgreSQL configuration file
# -----------------------------
#
# This file consists of lines of the form:
#
# name = value
#
# (The "=" is optional.) Whitespace may be used. Comments are introduced with
# "#" anywhere on a line. The complete list of parameter names and allowed
# values can be found in the PostgreSQL documentation.
#
# The commented-out settings shown in this file represent the default values.
# Re-commenting a setting is NOT sufficient to revert it to the default value;
# you need to reload the server.
#
# This file is read on server startup and when the server receives a SIGHUP
# signal. If you edit the file on a running system, you have to SIGHUP the
# server for the changes to take effect, or use "pg_ctl reload". Some
# parameters, which are marked below, require a server shutdown and restart to
# take effect.
#
# Any parameter can also be given as a command-line option to the server, e.g.,
# "postgres -c log_connections=on". Some parameters can be changed at run time
# with the "SET" SQL command.
#
# Memory units: kB = kilobytes Time units: ms = milliseconds
# MB = megabytes s = seconds
# GB = gigabytes min = minutes
# h = hours
# d = days
#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------
(以下省略)
空行とコメント行を除外して表示した場合
postgresql.conf はLinuxでは一般的な # 以降がコメントとして扱われる設定ファイルです。 改行だけの空行、スペース文字と改行だけの空行、コメントしかない行を除外して表示すると 以下のように設定が有効になっている行だけが表示されます。
# cat postgresql.conf | grep -v "^\s*$" | grep -v "^\s*#" max_connections = 100 # (change requires restart) shared_buffers = 32MB # min 128kB wal_level = archive # minimal, archive, or hot_standby archive_mode = on # allows archiving to be done archive_command = 'cp %p /bkup/pgdata1/pg-arch/%f' # command to use to archive a logfile segment log_destination = 'stderr' # Valid values are combinations of logging_collector = on # Enable capturing of stderr and csvlog log_directory = 'pg_log' # directory where log files are written, log_filename = 'postgresql-%Y%m%d.log' # log file name pattern, log_truncate_on_rotation = on # If on, an existing log file of the log_rotation_age = 7d # Automatic rotation of logfiles will log_rotation_size = 0 # Automatic rotation of logfiles will log_line_prefix = '%t [%p] ' # special values: datestyle = 'iso, mdy' lc_messages = 'C' # locale for system error message lc_monetary = 'C' # locale for monetary formatting lc_numeric = 'C' # locale for number formatting lc_time = 'C' # locale for time formatting default_text_search_config = 'pg_catalog.english'