Eu tenho uma matriz de caminhos para arquivos, cada um com várias linhas de texto. Eu gostaria de produzir uma matriz que é preenchida com a primeira linha de cada arquivo processado da seguinte forma:
# this.txt first line is [Test this]
# another.txt first line is [Test another]
paths=(
./this/path/this.txt
./another/path/another.txt
)
for i in ${paths[@]}; do
read -r line < $i
lines+=$line
done
No máximo, obtive apenas um valor na minha matriz. Não consigo obter a matriz que estou procurando fora do loop for. Eu tentei muitas variações e tive dificuldade em descobrir onde estou errado.
bash
shell-script
array
dimmech
fonte
fonte
No Bash, você também pode ler linhas em uma matriz diretamente. Se você selecionar o comprimento atual da matriz
${#lines[@]}
como o índice de inserção, poderá anexá-lo:Trecho da sinopse
fonte