たとえば、コメントフィルタリングと呼ばれる一般的なタスクを解決する場合は、次のようにします。
grep -v ^# /etc/apache2/apache2.conf
これにより、コメントと空白行がなくなります。これは予想されます。
他の方法は次のとおりです。
grep ^[^#] /etc/apache2/apache2.conf
しかし、同じ出力を取得しますが、空行はありません。なぜですか?
答え1
2つ目は、少なくとも1つの文字を含む行を見つけて、文字を持たない空の行が一致しないようにすることです。両方が必要な場合は、以下を試してください。
grep -e ^[^#] -e ^$ /etc/apache2/apache2.conf
答え2
grep -v ^#
- 次に始まらない行を除く
#
- 空行はで始まらないので
#
ではありません。前任者含まれる
ヴィラ
grep ^[^#]
- 以下を除くすべての文字で始まる行を含みます。
#
- 空行は次に終わりません。どの性格はそうではありません。存在する含まれる