GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Leggi il file nell'array?

Come posso leggere il file nello script della shell, quindi assegnare ogni riga a una variabile che posso usare in seguito ,,,(sto pensando di caricare un'impostazione predefinita dal file)

ci provo già :

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

Risposta accettata:

Ai fini della configurazione è probabilmente più semplice definire i parametri nel file di configurazione con la sintassi bash e successivamente crearlo utilizzando . /path/to/config .

Esempio default.cfg :

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

Esempio script.sh :

#!/bin/bash

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

echo $parameter_a
echo $parameter_b
echo "$parameter_c"

...

Se non ti piace questo approccio puoi anche leggere le righe in un array:

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

Per accedere agli elementi dovresti quindi utilizzare ${array[index]} , ad esempio:

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

(Dove ${#array[*]} è la dimensione dell'array.)

Leggi di più sugli array in bash qui.


Ubuntu
  1. Come ripulire le estensioni dei file?

  2. Come scrivere un file in un altro?

  3. Tail legge l'intero file?

  4. Linux che divide l'array in variabili separate?

  5. Permessi dei file in Linux – Lettura/Scrittura/Esegui

Come leggere i file riga per riga in Bash

Come leggere un file riga per riga in Bash

Come leggere un file con spazi in Linux

Come scrivere dati in file in Linux

Come dividere un file Mp3?

Come fare eco in un file