Grepは奇妙なことに、出力から空白行を除外します。

Grepは奇妙なことに、出力から空白行を除外します。

たとえば、コメントフィルタリングと呼ばれる一般的なタスクを解決する場合は、次のようにします。

grep -v ^# /etc/apache2/apache2.conf

これにより、コメントと空白行がなくなります。これは予想されます。

他の方法は次のとおりです。

grep ^[^#] /etc/apache2/apache2.conf

しかし、同じ出力を取得しますが、空行はありません。なぜですか?

ベストアンサー1

2つ目は、少なくとも1つの文字を含む行を見つけて、文字を持たない空の行が一致しないようにすることです。両方が必要な場合は、以下を試してください。

grep -e ^[^#] -e ^$ /etc/apache2/apache2.conf

おすすめ記事