Bash durante la riga di lettura

Bash durante la riga di lettura
Quando stai lavorando sugli script bash, a volte potrebbe essere necessario leggere una riga di file per riga. Spieghiamo con un esempio. Hai alcuni dati in un file di testo che dovrebbero essere eseguiti o elaborati utilizzando uno script. Quindi, eseguire uno script bash per elaborare un file di testo è molto diverso. È necessario seguire una sintassi specificata per leggere una riga del file per riga. Questo articolo ti aiuterà a leggere una riga da un file utilizzando il ciclo while in bash.

Sintassi di base della riga di lettura while

La sintassi seguente viene utilizzata per la shell bash per leggere un file utilizzando While Loop:

mentre leggi la riga -r;
Fare
echo "$ line";
Fatto < input.file

L'opzione '-r' nella sintassi sopra menzionata è passata a leggere il comando che evita le fughe di retroscena di essere interpretate. L'opzione "Input_file" ha rappresentato il nome del tuo file a cui si desidera accedere utilizzando il comando "Leggi".

Il separatore di campo interno abbreviato come Ifs può essere utilizzato prima che il comando di lettura sia impostato sulla stringa null che impedisce di essere tagliate lo spazio bianco di pittura o sede.

mentre ifs = leggi -r riga;
Fare
echo $ line;
Fatto < input.file

Apri il terminale usando 'Ctrl + alt + t' Scorri e quindi eseguire i seguenti comandi su di esso.

Esempio n. 1: riga di lettura del file per riga

Facciamo un esempio in cui supponiamo di avere un file denominato 'OS.TXT' contenente i nomi di tutte le importanti distribuzioni Linux. Se vuoi leggere un file senza usare il 'gatto' comando quindi, a questo scopo è possibile eseguire il seguente comando per eseguire l'attività particolare. Useremo il ciclo while che leggerà ogni riga dal file 'OS.TXT' e memorizza il contenuto in ogni passaggio in una riga di $ variabile che puoi visualizzare in seguito.

Incollare i seguenti nomi delle distribuzioni Linux in 'OS.TXT'

Centos
Ubuntu
Debian
LinuxMint
mentre la riga di lettura;
Fare
echo $ line;
Fatto < OS.txt


Dal comando sopra, otterrai la seguente risposta sulla finestra del terminale:

Esempio n. 2: lettura del file utilizzando lo script bash

Crea un file bash e quindi aggiungi il codice di seguito in questo file per leggere il contenuto del file. È possibile archiviare il file di testo precedente in una nuova variabile $ nome file e variabile $ n viene utilizzato per mantenere il valore di ogni riga. Ora, usando il ciclo while leggeremo ogni riga da un file con un particolare numero di riga.

#!/Bin/Bash
filename = 'OS.TXT'
n = 1
mentre la riga di lettura;
Fare
# per leggere ogni riga
Echo "Linea di distribuzione del sistema operativo NO. $ n: $ riga "
n = $ ((n+1))
Fatto < $filename

Salva il file con un nome 'Osinfo.sh' e digitare il seguente comando sul terminale per eseguire lo script bash sopra.

$ Bash Osinfo.sh

Ora, esegui il comando Cat per visualizzare il contenuto del file originale.

$ cat os.TXT

Metodo alternativo per la lettura dei file

Utilizzando il nome del file di passaggio da un comando

In un file bash, è necessario aggiungere il seguente script di codice. In questa sceneggiatura, dobbiamo prendere un nome file come argomento. Innanzitutto, il valore di un argomento viene letto da a $ 1 variabile che ha un nome file per la lettura. Verificherà che il nome file esista nella posizione specificata, quindi utilizzando il ciclo while ha letto una riga file per riga simile all'esempio precedente.

#!/Bin/Bash
nome file = $ 1
Se [[ ! -F $ nome file]]; Poi
ECHO "Errore, è necessario inserire un nome file come parametro della riga di comando"
Uscita
fi
mentre la riga di lettura; Fare
# Leggendo ogni riga
Echo $ Line
Fatto < $filename

Salva lo script sopra con il nome 'Linea di lettura.sh' ed eseguire il seguente comando sul terminale per eseguire lo script sopra menzionato:

$ Bash Readline.Sh OS.TXT

Puoi vedere che il parametro è stato usato come $ nome file, e leggi riga per riga con il mentre la riga di lettura Sintassi dal parametro fornito sulla riga di comando.

Conclusione

In questo articolo, abbiamo discusso di come leggere le righe usando il ciclo while nella programmazione bash. Abbiamo implementato diversi metodi utilizzando lo script bash o puoi semplicemente utilizzare un file di testo per eseguire la lettura di una riga per la riga dell'attività di riga. Se sei interessato a conoscere altri esempi, utilizzando la sintassi sopra menzionata puoi anche eseguire sul tuo sistema. Spero che questo tutorial ti sia piaciuto e che sarebbe unico per te. Sapiamo in caso di errore.