Tengo una variedad de rutas a archivos que tienen varias líneas de texto. Me gustaría producir una matriz que se complete con la primera línea de cada archivo procesado de esta manera:
# 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
A lo sumo, solo obtuve un valor en mi matriz. Parece que no puedo obtener la matriz que estoy buscando fuera del ciclo for. He intentado muchas variaciones y me está costando averiguar dónde me estoy equivocando.
bash
shell-script
array
dimmech
fuente
fuente
En Bash también puede leer líneas en una matriz directamente. Si selecciona la longitud de la matriz actual
${#lines[@]}
como índice de inserción, puede agregarla:Extracto de la sinopsis
fuente