Come contare il numero di righe in un file in bash

Come contare il numero di righe in un file in bash

Potrebbe esserci una situazione in cui è necessario mantenere i record sul numero di righe in un determinato file. Per contare il numero di righe manualmente richiede tempo in quanto il file può contenere contenuti grandi e complessi. La shell bash ha diversi comandi che visualizzano il numero di righe nel file fornito. Condivideremo tutti i comandi eseguibili nella shell bash e ti aiuteremo a realizzare il compito di contare il numero di righe dai file. Ognuno di questi comandi restituisce uno stato in base a come vengono eseguiti.

Esempio 1: conta le righe in un file in bash con il comando WC

Il comando più efficace e diretto per contare le righe in un file è WC che sta per "Conteggio di parole". Qui, forniamo il comando WC nel terminale con il flag "-l". La bandiera indica le linee. Il comando "wc -l" è specificato con "bash.File Sh "per il numero di righe da contare da quel file. Quando eseguiamo questo comando, genera il valore intero di "13" insieme al nome del file, "Bash.sh". L'output indica le linee totali di "Bash.file sh ".

Linux@VirtualBox: ~ $ wc -l bash.sh
13 Bash.sh


Il nome del file viene anche visualizzato con il numero di righe conteggiate. Possiamo anche impedire che il nome del file venga superato come parametro usando il "<” symbol to divert the file's content to the wc command. Here, we present the “wc -l” command with the “<” symbol and then set the “Bash.sh” file name. When the command is executed in the terminal, it just displays the number of lines that are present in the file.

Linux@VirtualBox: ~ $ wc -l < Bash.sh
13


Abbiamo un'altra opzione e questo è applicare il simbolo del tubo ('|') per inserire il metodo con il comando CAT per passare il contenuto del file al comando WC. Di seguito, eseguiamo il comando in cui la parola chiave Cat viene utilizzata con "Bash.file sh ". Quindi, posizioniamo il tubo "|" simbolo prima del comando "wc -l". Il comando restituisce solo il numero di righe situate in "Bash.file sh ".

Linux@VirtualBox: ~ $ Cat Bash.Sh | wc -l
13


Inoltre, possiamo anche contare il numero di righe da più file contemporaneamente utilizzando il comando WC fornendo lo spazio tra ogni nome di file. Qui, diamo un comando in cui il WC utilizza il flag "-lines" con tre file che hanno lo stesso "bash.Sh ”nome. Questo comando visualizza innanzitutto il conteggio della singola riga per ciascun file. Quindi, il numero totale di righe di tutti i file viene mostrato alla fine con la parola chiave "totale".

Linux@VirtualBox: ~ $ WC -LINES BASH.Sh Bash.Sh Bash.sh
13 Bash.sh
13 Bash.sh
13 Bash.sh
39 totale

Esempio 2: conta le righe in un file in bash con il comando NL

Esiste una tecnica per contare le righe in qualsiasi file che viene raramente implementato. Il comando è indicato come "NL" che legge le righe numerate dall'ingresso e le scrive all'output standard. Nel seguente comando NL, impostiamo i "dati.Nome file txt "con la parola chiave" NL "che restituisce ogni riga con il numero e il contenuto del file.

Linux@VirtualBox: ~ $ NL Dati.TXT
1 domenica
2 lunedì
3 martedì
4 mercoledì
5 giovedì
6 venerdì
7 sabato


Il comando "-nl" può essere utilizzato con diverse opzioni. Qui, usiamo per la prima volta il comando NL con i "dati.file txt ". Successivamente, usiamo la pipeline "|" simbolo e imposta l'opzione "coda" sul lato destro del simbolo della pipeline. L'opzione di coda è specificata con il valore "-n3" che conta le tre righe dall'ultima "dati.file txt ". Il risultato di questo comando emette le ultime righe con il contenuto di input nella seguente immagine:

Linux@VirtualBox: ~ $ NL Dati.txt | Tail -N3
5 giovedì
6 venerdì
7 sabato

Esempio 3: conta le righe in un file in bash con il comando awk

AWK è uno strumento di riga di comando di elaborazione del testo che è immensamente efficace. Può essere utilizzato per una varietà di operazioni da cui identificare il numero di linee è quella. Il comando "Awk" prende il parametro "End print nr". Il NR è il numero di record stampati dalla sezione finale per specificare le righe nel file. Le linee che sono incluse nel bash.Il file TXT può essere stimato utilizzando il comando AWK elencato come segue:

Linux@VirtualBox: ~ $ awk 'end print nr' bash.TXT
28

Esempio 4: conta le righe in un file in bash con il comando SED

Successivamente, un metodo per ottenere il numero di righe totali nel file specificato utilizza il comando SED. Il SED è indicato come Editor Stream per il sistema Linux. Esegue principalmente la ricerca e sostituisce le operazioni sui dati dai file o dai flussi dati. Qui, utilizziamo il comando SED con l'opzione "-n" per contare il numero complessivo di righe dai file. L'operatore "$ =" emette il numero di riga corrente. Quindi, abbiamo impostato il "Newfile.file txt "su cui viene eseguita l'operazione di comando SED.

Linux@VirtualBox: ~ $ sed -n '$ =' newfile.TXT
14

Esempio 5: conta le righe in un file in bash con il comando GREP

Il filtro Grep legge un file per un modello di carattere specifico e presenta tutte le righe che corrispondono a quel modello. Il grep è un'abbreviazione per la stampa globale di espressione regolare. Nota il seguente comando di grep in cui utilizziamo l'opzione "-e" per ottenere il numero totale di righe. La "$" rappresenta la riga finale dell'espressione regolare e "C" indica l'opzione di conteggio. Il comando Grep viene eseguito su "Linesfile.file txt "che viene superato come argomento. Quando eseguiamo il file GREP specifico, emette il valore del conteggio delle righe dal file.

Linux@VirtualBox: ~ $ grep -e "$" -c linefile.TXT
11


In precedenza, utilizziamo il simbolo "$" per la linea finale dell'espressione regolare. Alla riga iniziale dell'espressione regolare, il simbolo "^" viene distribuito sul simbolo "$". Il formato del comando Grep per ottenere le righe di conteggio dall'inizio dell'espressione regolare con il valore di output viene visualizzato nel seguente:

Linux@virtualbox: ~ $ grep -e "^" -c linefile.TXT
11

Esempio 6: conta le righe in un file in bash con il comando while

Il ciclo while è un altro approccio per contare il numero di linee nella shell bash. Ecco la sceneggiatura di un ciclo while per ottenere le righe del file. Impostiamo l'oggetto "conta" con il valore di "0". Quindi, invochiamo il ciclo "while" che esegue l'operazione di lettura. Il DO è assegnato con la condizione "Count = $ Count+1" che afferma che una volta ogni conteggio dal file, il suo valore è incrementato dal valore di "1". Il comando fatto viene utilizzato per impostare il "Bash3.Nome file sh "e visualizzare il numero di righe totali nel file.

Linux@VirtualBox: ~ $ COUNT = 0
Linux@VirtualBox: ~ $ mentre leggi
> do
((count = $ count+1))
Fatto Echo $ Count
14

Conclusione

La guida è spiegata con tutti i comandi utilizzati per ottenere il numero di righe dal file. Questi comandi sono utili quando si lavora su larga scala in cui gli sviluppatori misurano la lunghezza dei loro file. Tra tutti i comandi per il conteggio delle righe del file, il comando WC è un metodo molto semplice e per lo più distribuito.