GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Leer archivo en matriz?

¿Cómo puedo leer el archivo en el script de Shell y luego asignar cada línea a una variable que pueda usar más tarde? (Estoy pensando en cargar una configuración predeterminada desde el archivo)

ya lo intente :

process (){

}

FILE=''
read -p "Please enter name of default file : " FILE

if [ ! -f $FILE  ]; then

    echo "$FILE : does not exists "
    exit 1
elif [ ! -r $FILE  ]; then

    echo "$FILE : can not read "
fi

exec 0<"$FILE"
n=0
while read -r line
do
   (assign each line to an variable) 
done

Respuesta aceptada:

Para fines de configuración, probablemente sea más fácil definir los parámetros en el archivo de configuración en la sintaxis bash y luego obtenerlos usando . /path/to/config .

Ejemplo default.cfg :

parameter_a=100
parameter_b=200
parameter_c="Hello world"

Ejemplo script.sh :

#!/bin/bash

# source the default configuration
. /path/to/default.cfg

echo $parameter_a
echo $parameter_b
echo "$parameter_c"

...

Si no le gusta ese enfoque, también puede leer las líneas en una matriz:

while read line
do
    array+=("$line")
done < some_file

Para acceder a los elementos, usaría ${array[index]} , por ejemplo:

for ((i=0; i < ${#array[*]}; i++))
do
    echo "${array[i]}"
done

(Donde ${#array[*]} es el tamaño de la matriz.)

Lea más sobre arreglos en bash aquí.


Ubuntu
  1. ¿Cómo limpiar las extensiones de archivo?

  2. Buzón ocupado ¿Leer archivo línea por línea?

  3. ¿Tail lee todo el archivo?

  4. Permisos de archivo en Linux:lectura/escritura/ejecución

  5. Leer valores en una variable de shell desde una tubería

Cómo leer archivos línea por línea en Bash

Cómo leer un archivo línea por línea en Bash

Cómo leer un archivo con espacios en Linux

Cómo escribir datos en un archivo en Linux

¿Cómo dividir un archivo Mp3?

Cómo hacer eco en un archivo