OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2013/10/23

OSSでLinuxサーバ構築

設定ファイルの空行とコメント行を除外して表示

トップページOSSでLinuxサーバ構築 > 設定ファイルの空行とコメント行を除外して表示
このエントリーをはてなブックマークに追加

概要

解説

 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'

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会


第000414号