Este script lee un archivo de texto y lo ingresa a un ARRAY, luego lee los datos del mismo, se utiliza IFS junto con un bucle for para ir tomando los valores que estan separados por ‘|’ en la línea y un array para guardar esos valores.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#!/bin/bash OLDIFS=$IFS # Valor original del IFS A=-1 # Variable para moverse por el array texto=\usr01\datso\texto.txt IFS=$'\n' for LINEA in $(cat $texto) ; do IFS='|' # Caracter separador for VALOR in $LINEA ; do let A=$A+1 VARIABLE[$A]=${VALOR} done IFS=$'\n' done IFS=$OLDIFS # Restablece el IFS a su valor original # Si el array no esta vacio muestra los resultados if [ $A -ge 0 ] ; then for B in `seq 0 $A` ; do echo "VARIABLE[$B] = ${VARIABLE[$B]}" done fi |