Para excluir qualquer linha que não seja composta inteiramente de caracteres alfabéticos, você precisará adicionar as iniciais ( ^
) e final ( $
) anchors
sed '/^[[:alpha:]]*$/!d' file
Em vez disso, você pode excluir qualquer linha que contenha pelo menos um caractere não alfabético
sed '/[^[:alpha:]]/d' file
Observe que o caret ^
está atuando como um operador de negação aqui, e não como uma âncora, como na expressão anterior.
Alternativamente, usando a opção linha inteira ( -x
ou --line-regexp
) do grep
grep -x '[[:alpha:]]*' file
(equivalente à primeira expressão sed) ou usando uma correspondência inversa ( -v
)
grep -v '[^[:alpha:]]' file
(equivalente da segunda expressão sed).