Tenho uma string separada por espaços e preciso concatenar a 2ª e a 3ª “palavra”/campo certificando-me de que se mais de um espaço separar as palavras/campos seja tratado corretamente.
O seguinte funciona bem:
tr -s " " |cut -d ' ' -f2 -f3 | tr " " "-"
Eu queria saber se existe uma maneira ainda mais sucinta de fazer isso?
awk
usará, por padrão, qualquer número de espaços em branco como separador de campo, portanto, seu problema pode ser resolvido com aawk
invocação únicacom os dados passados para a entrada padrão de
awk
.Fazendo a mesma coisa no shell (que também, por padrão, dividirá a entrada em espaços em branco da mesma maneira
awk
que):com os dados passados para a entrada padrão de
read
.Se você quer usar apenas
tr
ecut
, acredito que já tenha a solução mais compacta para isso.