Se você deseja espremer "espaço em branco", desejará usar os conjuntos de caracteres predefinidos do tr ": blank:" (guia e espaço em branco do espaço horizontal) ou ": space:" (espaço em branco vertical):
/bin/echo -e "val1\t\tval2 val3" | tr -s "[:blank:]"
Exemplos foram executados no Red Hat 5 (GNU tr).
No meu caso, eu queria normalizar todo o espaço em branco em um único espaço para poder confiar no espaço como delmitter.
Como apontado pelo segundo comentário de dastrobu, perdi o texto na página de manual:
-s uses the last specified SET, and occurs after translation or deletion.
Isso nos permite eliminar o primeiro tr. Kudo deve procurar suas paciências em face da minha densidade.
Antes, analisando a porta da configuração do Redis. Arquivo:
grep "^port" $redisconf | tr "[:blank:]" " " | tr -s "[:blank:]" | cut -d" " -f2
Depois, com SET2 sendo especificado com o aperto:
grep "^port" $redisconf | tr -s "[:blank:]" " " | cut -d" " -f2
Resultado:
6379
Para mais detalhes sobre as nuances do espaço em branco
Demonstre onde o aperto sozinho falha quando caracteres mistos sucessivos que se enquadram na classe de caracteres [: blank:] estão envolvidos:
/usr/bin/printf '%s \t %s' id myname | tr -s "[:blank:]" | od -cb
0000000 i d \t m y n a m e
151 144 040 011 040 155 171 156 141 155 145
0000013
Nota: Meus dois campos de sequência no formato printf são separados por 1 espaço, 1 guia, 1 espaço. Após o aperto, essa sequência ainda existe. Na saída do dump Octal, isso é representado pela sequência ascii 040 011 040.