A GNU ja oferece por padrão junto com o linux uma série de mini-utilitários que podem ser usados para os mais diversos fins, ao invés de fazer um script poderia ser utilizado o sed também, não descartando o método fornecido pelo magnum pois é muito útil para fins didáticos.
Apenas com um conjunto de seds é possível resolver esse problema com pouco esforço:
ou para deixar o texto mais limpo sem espaços duplicados e linhas em branco é só gravar as seguintes linhas em um arquivo:Código :
sed -e "s/\(^\| \)[!-þ\;]\{1,3\}\($\| \)/ /g"
e então:Código :
s/\(^\| \)[!-þ\;]\{1,3\}\($\| \)/ /g s/\(^\| \)[!-þ\;]\{1,3\}\($\| \)/ /g s/\(^\| \) \+/\1/g /^$/D
se quiser alterar o arquivo diretamente ao invés de mostrar no stdou simplesmente adicione o argumento "-i"Código :
sed -f [arquivo expr] [arquivo a ser subsituido]
sendo que:
1º Linha: Remove todas as palavras com 3 caracteres ou menos
2º Linha: faz o mesmo que a primeira, completando o seu efeito pois a expressão fornecida trabalha de forma intercalada
3º Linha: Remove espaços duplicados e no ínicio/fim da linha
4º Linha: Remove linhas em branco.
A[]'s