Faça:
sed -E 's/\b([[:alpha:]]){1,4}\b/word/g'
-
\b
corresponde ao limite de palavras -
([[:alpha:]])
corresponde a qualquer caractere alfabético na localidade atual e coloca isso como grupo capturado 1 -
{1,4}
corresponde ao grupo capturado 1 a 4 vezes, ou seja, no total, o caractere está sendo correspondido de 2 a 5 vezes -
se for correspondida, a palavra será substituída pela string
word
-
o modificador
g
de substituição (s
) substitui todas as ocorrências de palavras
Para corresponder a qualquer caractere, não apenas alfabético, substitua [[:alpha:]]
por .
:
sed -E 's/\b(.){1,4}\b/word/g'
Exemplo:
$ echo 'a aa aaa aaaa aaaaa aaaaaa' | sed -E 's/\b([[:alpha:]]){1,4}\b/word/g'
a word word word word aaaaaa