Estoy intentando recorrer una matriz que contiene otras matrices y estas matrices están formadas por cadenas con espacios. El problema es que parece que no puedo conservar el espacio en la cuerda. La cadena con espacios están bien dividida en varios elementos, si cambio de IFS para \ n o todos los elementos de la matriz son vistos como 1 punto si dejo IFS sin cambios aquí algunos ejemplos de código:Recorrido por una matriz de matrices de cadenas con espacios
#!/bin/sh
low1=("AA QQ" "BB LL")
low2=("CC" "DD")
low3=("EE" "FF")
high=(low1 low2 low3)
for high_item in ${high[@]}
do
eval arrayz=\${$high_item[@]}
#IFS=$'\n'
for item in $arrayz
do
echo $item
done
done
Salida:
AA QQ BB LL CC DD EE FF
Como puede ver, los elementos "AA QQ" y "BB LL" se han dividido.
Si descomentar la línea que establece IFS
a \n
consigo el siguiente:
AA QQ BB LL CC DD EE FF
Ahora "QQ AA" y "BB LL" se concatenan!
¿Hay alguna forma de preservar estos elementos al igual que originales se ... Necesito la salida para que parezca que:
AA QQ BB LL CC DD EE FF
Para 'low1', tiene cada elemento en una línea separada. Para 'low2' y' low3', todos los elementos aparecen en una sola línea.Es esto intencional? – chepner