※ブロックエディターで編集したら、表示が壊れたので再投稿です。
いろんなやり方がありますが、自分が気に入ってるのは以下3つです。
$ grep . FILENAME | egrep -v ^*#
改行はまぁ出てもいいやという場合は、コメント行だけ削除。
$ egrep -v ^*# FILENAME
なんか空白(でたぶん改行が)多いなって場合は、パイプして、grep . をつければOK。 改行と、コメント行の場合は、こんな書き方も。
$ egrep -v '^*#|^$' FILENAME
大体の設定ファイルは、空白行じゃなく改行だけの行なのでこれで足ります。最後のやり方だと、設定ファイルだけ見る場合、↑(上矢印)で直近コマンド出して、最後のファイル名だけ変えればまた使えるので、便利です。ちゃんとコメント行と空白行(改行と空白行)を削除したい場合は、以下になりますがタイプしずらいですよね!
$ egrep -v '^*#|^\s*$' FILENAME
例えば、termuxのapache2の設定ファイル(デフォルト)httpd.confは改行とコメント行を抜くと以下です。
$ egrep -v '^*#|^$' httpd.conf.org ServerRoot "/data/data/com.termux/files/usr" Listen 8080 LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so LoadModule authn_file_module libexec/apache2/mod_authn_file.so LoadModule authn_core_module libexec/apache2/mod_authn_core.so LoadModule authz_host_module libexec/apache2/mod_authz_host.so LoadModule authz_groupfile_module libexec/apache2/mod_authz_groupfile.so LoadModule authz_user_module libexec/apache2/mod_authz_user.so LoadModule authz_core_module libexec/apache2/mod_authz_core.so LoadModule access_compat_module libexec/apache2/mod_access_compat.so LoadModule auth_basic_module libexec/apache2/mod_auth_basic.so LoadModule reqtimeout_module libexec/apache2/mod_reqtimeout.so LoadModule include_module libexec/apache2/mod_include.so LoadModule filter_module libexec/apache2/mod_filter.so LoadModule mime_module libexec/apache2/mod_mime.so LoadModule log_config_module libexec/apache2/mod_log_config.so LoadModule env_module libexec/apache2/mod_env.so LoadModule headers_module libexec/apache2/mod_headers.so LoadModule setenvif_module libexec/apache2/mod_setenvif.so LoadModule version_module libexec/apache2/mod_version.so LoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so LoadModule unixd_module libexec/apache2/mod_unixd.so LoadModule status_module libexec/apache2/mod_status.so LoadModule autoindex_module libexec/apache2/mod_autoindex.so LoadModule negotiation_module libexec/apache2/mod_negotiation.so LoadModule dir_module libexec/apache2/mod_dir.so LoadModule userdir_module libexec/apache2/mod_userdir.so LoadModule alias_module libexec/apache2/mod_alias.so ServerAdmin you@example.com AllowOverride none Require all denied DocumentRoot "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs" <Directory "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs"> Options Indexes FollowSymLinks AllowOverride None Require all granted DirectoryIndex index.html <Files ".ht*"> Require all denied ErrorLog "var/log/apache2/error_log" LogLevel warn LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio CustomLog "var/log/apache2/access_log" common ScriptAlias /cgi-bin/ "/data/data/com.termux/files/usr/lib/cgi-bin/" <Directory "/data/data/com.termux/files/usr/lib/cgi-bin"> AllowOverride None Options None Require all granted RequestHeader unset Proxy early TypesConfig etc/apache2/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz Include etc/apache2/extra/proxy-html.conf SSLRandomSeed startup builtin SSLRandomSeed connect builtin
空白行は、ないでしょ。つまり改行だけなんで、上記のように表示されます。空白行を含む表現は、以下なんでタイプ数が多いので面倒なんです。
'^\s*$'
まぁ、どうでもいい話ですが。w