Usando cat em elementos do array

Usando cat em elementos do array

É 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 bashsão baseados em zero).

Para obter $3do 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 somethingao quarto elemento da matriz.

Também relacionado ao fato de que bashos arrays começam em zero:

informação relacionada