GNU/Linux >> Linux Esercitazione >  >> Linux

Come contare le righe in un file in UNIX/Linux

Domanda :Ho un file sul mio sistema Linux con molte righe. Come faccio a contare il numero totale di righe nel file?

Utilizzo di "wc -l"

Esistono diversi modi per contare le righe in un file. Ma uno dei modi più semplici e ampiamente utilizzati è usare "wc -l". L'utilità wc visualizza il numero di righe, parole e byte contenuti in ciascun file di input o input standard (se non viene specificato alcun file) nell'output standard.

La sintassi è:

# wc -l [filename]

Quindi considera il file mostrato di seguito:

$ cat file01.txt
this is a sample
file
with
some sample
data

1. Il comando "wc -l" quando viene eseguito su questo file, restituisce il conteggio delle righe insieme al nome del file.

$ wc -l file01.txt
       5 file01.txt

2. Per omettere il nome del file dal risultato, utilizzare:

$ wc -l < file01.txt
       5

3. È sempre possibile fornire l'output del comando al comando wc utilizzando pipe. Ad esempio:

$ cat file01.txt | wc -l
       5

Puoi avere qualsiasi comando qui invece di cat. L'output di qualsiasi comando può essere reindirizzato al comando wc per contare le righe nell'output.

Utilizzo di awk

Se vuoi usare awk per trovare il conteggio delle righe, usa il comando awk di seguito:

$ awk 'END{print NR}' [filename]

Esempio di output:

$ awk 'END{print NR}' file01.txt
5

Utilizzo di sed

Usa la seguente sintassi del comando sed per trovare il conteggio delle righe usando GNU sed:

$ sed -n '$=' [filename]

Esempio di output:

$ sed -n '$=' file01.txt
5

Utilizzo di grep

Il nostro buon vecchio amico "grep" può anche essere usato per contare il numero di righe in un file. Questi esempi servono solo per farti sapere che ci sono diversi modi per contare le righe senza usare "wc -l". Ma se richiesto userò sempre "wc -l" invece di queste opzioni poiché è troppo facile da ricordare.

$ grep -c ".*" [filename]

Esempio di output:

$ grep -c ".*" file01.txt
5

Con GNU grep, puoi usare la seguente sintassi grep:

$ grep -Hc ".*" [filename]

Ecco un'altra versione del comando grep per trovare il conteggio delle righe.

$ grep -c ^ file01.txt
5

Esempio di output:

$ grep -Hc ".*" file01.txt
file01.txt:5

Altri comandi

Insieme ai comandi precedenti, è utile conoscere alcuni comandi usati raramente per trovare il conteggio delle righe in un file.

1. Utilizzare il comando nl (filtro di numerazione delle righe) per ottenere la numerazione di ciascuna riga. La sintassi del comando è:

$ nl [filename]

Esempio di output:

$ nl file01.txt
     1	this is a sample
     2	file
     3	with
     4	some sample
     5	data

Un modo non così diretto per ottenere il conteggio delle righe. Ma puoi usare awk o sed per ottenere il conteggio dall'ultima riga. Ad esempio:

$ nl file01.txt | tail -1 | awk '{print $1}'
5

2. Puoi anche usare vi e vim con il comando ":set number" per impostare il numero su ciascuna riga come mostrato di seguito. Se il file è molto grande, puoi usare "Shift+G" per andare all'ultima riga e ottenere il conteggio delle righe.

3. Usa il comando cat con -n passare per ottenere ogni riga numerata. Ancora una volta, qui puoi ottenere il conteggio delle righe dall'ultima riga.

$ cat -n file01.txt
     1	this is a sample
     2	file
     3	with
     4	some sample
     5	data
$ cat -n file01.txt | tail -1 | awk '{print $1}'
5

4. Puoi anche usare perl one lines per trovare il numero di righe:

$ perl -lne 'END { print $. }' file01.txt
5


Linux
  1. Come aggiungere più righe a un file?

  2. Contare le righe in un file?

  3. Come visualizzare righe specifiche di un file nella riga di comando di Linux

  4. Come rinominare un file in Linux?

  5. Come contare le righe in un documento?

Come collegare simbolicamente un file in Linux

Come invertire le righe in un file in base al carattere in Linux

Come trovare le righe più lunghe in un file in Linux

Come estrarre il file Tar.xz sulla riga di comando di Linux

Comando Linux wc – Conteggio di parole, righe, caratteri in un file

Tutorial Unix Sed:aggiungi, inserisci, sostituisci e conta righe di file