Linux – Comando READARRAY para leer líneas de un archivo en una matriz 2D.-

El ‘readarray’ es uno de los comandos más útiles en Bash. Este, lee líneas de un archivo o entrada estándar y las asigna a una matriz. Este comando solo está disponible en versiones de bash 4.0 o superior.

La sintaxis para usar ‘readarray’ es la siguiente:

Las opciones disponibles para el comando ‘readarray’ son:

‘-d DELIM’: establece el delimitador que se utilizará al dividir líneas en elementos de matriz y, de forma predeterminada, el delimitador es un carácter de nueva línea.

‘-n COUNT’: especifica el número máximo de líneas para leer en la matriz.

‘-O ORIGIN’: establece el índice inicial de la matriz.

‘-s COUNT’: especifica el número de líneas que se saltan antes de leer en la matriz.

‘-t’: elimina el carácter de nueva línea final de cada línea leída en la matriz.

Suponga que tiene una matriz que contiene una combinación de caracteres alfabéticos y numéricos. Para realizar la clasificación en esta matriz, debe comparar el valor ASCII del carácter.

El código para nuestro ejemplo será como el siguiente.

Después de ejecutar el script, obtendrá un resultado como el que se muestra a continuación.

Otro  ejemplo del uso de ‘readarray’ para leer líneas de un archivo en una matriz 2D y para eso he creado un testfile.txt cuyo contenido es:

1 2 3

4 5 6

7 8 9

Script bash,  que demuestra el uso del comando ‘readarray’:

Primero se declara una matriz 2D llamada ‘matriz’ y luego uso el comando ‘readarray’ para leer líneas de un archivo llamado ‘testfile.txt’ en la matriz ‘líneas’. A continuación, el código itera sobre la matriz de «líneas» y divide cada línea en elementos usando los comandos «IFS» y «leer».

Después de eso, almacena los elementos en la matriz 2D ‘matriz’ y luego usa el comando de lectura para dividir cada línea en elementos. Ahora cada elemento se asigna al elemento correspondiente en la matriz ‘matriz’ y, finalmente, se imprimen los contenidos de la matriz ‘matriz’ utilizando bucles for anidados.

Conclusión

El comando ‘readarray’ facilita la manipulación de grandes cantidades de datos en scripts de Bash. Siguiendo los ejemplos proporcionados en este artículo, puede comenzar a usar ‘readarray’ en sus propios scripts de Bash para leer líneas de archivos y procesarlos en matrices 2D.

Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.