seu comando está quase correto. Apenas remova o v
.
Então você tem grep -P '\S'
.
A sinalização -v
significa: "mostrar apenas as linhas que não correspondem ao padrão"
Alguns comandos alternativos:
-
grep -v '^$'
O padrão corresponde a "begin of string (^), seguido diretamente por" end of string "($) -
grep -v '^[[:space:]]*$'
igual a antes, mas com espaço opcional na linha (não muito vazia, mas nada visível) -
grep '[^[:space:]]'
greps todas as linhas que contêm um caractere não espacial (basicamente o mesmo que você usou, mas não precisa da opção-P
)