Estou essencialmente tentando atribuir certas porções da saída de um comando shell para várias variáveis, mas não sei como fazer isso.
Por uma questão de simplicidade, suponha que o comando no shell, quando executado, imprima
one two three four
que pode ser simulado com um
echo "one two three four"
(embora o comannd real seja diferente)
Agora, eu gostaria de atribuir a segunda e a quarta palavra da saída (neste caso, dois e quatro ) às variáveis w1 e w2 .
Eu pensei que poderia usar o comando ler assim:
echo "one two three four" | awk '{print $2 " " $4}' | read w1 w2
mas isso não funciona, provavelmente porque o comando read é executado em um subprocesso.
Então, como eu alcançaria o que estou procurando?