É possível cat elementos da matriz que são arquivos de texto passados como entrada? Eu tenho algo assim:
array=("$@")
cat array[3]
Onde primeiro coloquei todos os meus argumentos (alguns arquivos.txt) em um array para tratá-los mais tarde e depois, por exemplo, gostaria de imprimir o corpo do terceiro arquivo (sei que poderia usar facilmente cat $3
).
Responder1
A sintaxe para acessar um elemento específico de um array é
${var[index]}
onde index
é uma expressão avaliada como um número inteiro entre zero e o comprimento da matriz, menos 1 (os índices da matriz bash
são baseados em zero).
Para obter $3
do seu array, use ${array[2]}
, ou seja
cat <"${array[2]}"
Veja também
Você usaria array[3]
em uma tarefa:
array[3]=something
Isso atribuiria a string something
ao quarto elemento da matriz.
Também relacionado ao fato de que bash
os arrays começam em zero: