Por que o seguinte comando imprime valores numéricos?
$ iostat | sed -n '/[:digit:]/!p'
1.56 1.38 0.31 0.34 0.03 96.38
Por que o seguinte comando imprime valores numéricos?
$ iostat | sed -n '/[:digit:]/!p'
1.56 1.38 0.31 0.34 0.03 96.38
A classe de caracteres POSIX que você está tentando usar deve ser colocada dentro de uma expressão de colchete regular, portanto,
[[:digit:]]
não[:digit:]
. Você também não está limitado a usar apenas uma classe de caractere na expressão de colchetes, então, por exemplo,[[:digit:][:punct:]]
ou[^[:digit:]]
pode ser usado.Seu comando realmente significa " imprimir todas as linhas que não correspondem a nenhum dos caracteres
:
,d
, oui
:g
t
O que você queria era:
Observe que as versões GNU sed mais recentes (v.4.4 neste exemplo) imprimirão um aviso: