Come leggere file riga per riga in Bash script
Come si scrive uno script Bash in grado di elaborare un file di testo una riga alla volta. Per prima cosa è necessario una sintassi e un approccio per leggere il file riga per riga. I metodi per questo approccio sono mostrati in questo tutorial.
Supponiamo di avere un file denominato company.txt che contiene i nomi delle società. Questo file contiene il seguente contenuto.
Samsung
Nokia
LG
Symphony
iphone
Esempio -1: Lettura del contenuto del file dalla riga di comando
Supponiamo che tu voglia leggere il file, azienda.txt, riga per riga dalla riga di comando senza comando ‘cat’. Eseguire il seguente comando per eseguire l’attività. mentre loop leggerà ogni riga dalla società di file.txt in ogni passaggio e memorizzare il contenuto della riga nella variabile line line che verrà stampata in seguito.
Esempio -2: Lettura del contenuto del file utilizzando lo script
Creare un file bash e aggiungere il seguente codice per leggere il contenuto di un particolare file. Qui, un nome file esistente viene memorizzato nella variabile fil filename e la variabile n n viene utilizzata per mantenere il valore del numero di riga di quel file. Come l’esempio precedente, while loop viene utilizzato per leggere questo file con il numero di riga.
filename= ” azienda.txt “
n=1
mentre leggi la riga; fai
# leggendo ogni riga
echo ” Linea no., line n: line line”
n=$((n+1))
done<ename filename
Eseguire il seguente comando per eseguire lo script.
Eseguire il comando ‘ cat ‘ con la società.file txt per visualizzare il contenuto originale della società.file txt.
Esempio -3: Passando il nome del file dalla riga di comando e leggendo il file
Creare un file bash e aggiungere il seguente script., Questo script prenderà il nome del file dall’argomento della riga di comando. Il primo valore dell’argomento viene letto dalla variabile 1 1 che conterrà il nome del file per la lettura. Se il file esiste nella posizione corrente, while loop leggerà il file riga per riga come nell’esempio precedente e stamperà il contenuto del file.
filename=while 1
while read line; do
# reading each line
echo line line
done<ename filename
Esegui lo script precedente con employee.file txt come valore argomento. L’output mostrerà il contenuto del dipendente.,file txt rimuovendo spazio aggiuntivo. È possibile mostrare il contenuto originale del dipendente.file txt utilizzando il comando ‘cat’.
employee dipendente gatto.txt
Esempio – 4: Lettura del file omettendo backslash escape
Se si desidera leggere ogni riga di un file omettendo backslash escape, è necessario utilizzare l’opzione ‘-r’ con il comando read nel ciclo while.
while read-r line; do
# Reading each line
echo line line
done < company2.txt
Crea un file denominato company2.txt con barra rovesciata ed eseguire il seguente comando per eseguire lo script. L’output mostrerà il contenuto del file senza alcuna barra rovesciata.
È necessario leggere il file per molti scopi di programmazione. Ad esempio, è possibile cercare o abbinare qualsiasi contenuto particolare facilmente da qualsiasi file leggendo ogni riga separatamente., Quindi, è un compito essenziale per qualsiasi programmazione. Alcuni semplici esempi di file di lettura in script bash sono mostrati in questo tutorial. Questi ti aiuteranno ad avere l’idea di leggere il contenuto del file riga per riga usando while loop nello script bash e applicarlo nel tuo script in modo più efficiente. Per maggiori informazioni guarda il video!