O segundo está procurando por linhas com pelo menos um caractere e, portanto, não corresponde a linhas vazias que não possuem caracteres. Se você quiser os dois, tente o seguinte:
grep -e ^[^#] -e ^$ /etc/apache2/apache2.conf
Ao resolver tarefas comuns, a filtragem de comentários, por exemplo, Eu posso fazer isso:
grep -v ^# /etc/apache2/apache2.conf
Dessa forma eu não tenho comentado e linhas vazias. Isso era esperado.
Eu pensei que de outra maneira é:
grep ^[^#] /etc/apache2/apache2.conf
No entanto, recebi a mesma saída, mas sem linhas vazias. Qual é o motivo?
grep -v ^#
#
#
, por isso não são ex cluded wheras
grep ^[^#]
#
Tags grep regular-expression