
fermoraes
(usa Ubuntu)
Enviado em 10/12/2015 - 09:55h
Olá!
Estou estudando shellscript e estou com uma dúvida em um assunto que DEVERIA ser simples, mas se transformou em um pesadelo.
Tenho o seguinte arquivo:
prods.txt:
arroz 2 10 20
feijao 3 5 15
tomate 2 2 4
O que eu desejo fazer, é colocar isso dentro de um loop e em cada linha retornar cada coluna separada por espaço seu respectivo valor dentro do array. Exemplo:
${prods[0]} retornar arroz
${prods[1]} retornar 2
${prods[2]} retornar 10
${prods[3]) retornar 20
Na sequência do loop, pegar a segunda linha e retornar:
${prods[0]} retornar feijao
${prods[1]} retornar 3
${prods[2]} retornar 5
${prods[3]) retornar 15
e assim por diante...
O que eu tentei fazer:
#!/bin/bash
IFS="
"
for prods in $(cat prods.txt)
do
echo "Produto ${prods[0]}"
echo "Quantidade ${prods[1]}"
echo "Preco Unit ${prods[2]}"
echo "Total ${prods[3]}"
done
O problema disso, é que o bash colocou a linha inteira como se fosse apenas um item dentro do array, ou seja, o array inteiro é o ${prods[0]} e os demais não existem.
Obrigada
Fer