I comandi Linux wc e nl ti aiuteranno a identificare il numero di parole, righe, byte, ecc. in un file. Questo tutorial spiega come utilizzare questi due comandi molto utili con vari esempi.
Il file di testo di base che verrà utilizzato negli esempi in questo articolo è mostrato di seguito:
$ cat sort.txt UK Australia Newzealand Brazil America
Esempi di comandi Linux nl
L'utilità nl in Linux viene utilizzata per numerare le righe di un file.
Ecco la sintassi e la descrizione dalla pagina man :
SINOSSI
nl [OPZIONE]… [FILE]…
DESCRIZIONE
Scrivere ogni FILE nell'output standard, aggiungendo i numeri di riga. Senza FILE, o quando FILE è -, leggi lo standard input.
1. Un esempio di base
Ecco un esempio di base che spiega come il comando nl può essere utilizzato per numerare le righe di un file.
$ cat sort.txt UK Australia Newzealand Brazil America $ nl sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America
Quindi vediamo che usando il comando nl, tutte le righe del file sort.txt sono state numerate.
2. Incrementa i numeri di riga con qualsiasi valore usando l'opzione -i
L'opzione -i può essere utilizzata per ignorare l'incremento predefinito di 1 nei numeri di riga.
Ecco un esempio in cui abbiamo usato -i per aumentare l'incremento del numero di riga a 5 :
$ nl -i5 sort.txt 1 UK 6 Australia 11 Newzealand 16 Brazil 21 America
Invece del valore predefinito 1,2,3... i numeri di riga vengono ora visualizzati con incrementi di 5 (cioè 1,6,11...)
3. Aggiungi una stringa dopo i numeri di riga usando l'opzione -s
Per impostazione predefinita, il comando nl aggiunge solo numeri di riga. Tuttavia, tramite l'opzione -s, è possibile aggiungere qualsiasi stringa che possa fungere da separatore tra i numeri di riga e il testo della riga.
Ecco un esempio:
$ nl -s. sort.txt 1.UK 2.Australia 3.Newzealand 4.Brazil 5.America
Quindi vediamo che il carattere '.' è stato aggiunto dopo i numeri di riga.
4. Usa una colonna diversa per i numeri di riga usando l'opzione -w
Le colonne per la visualizzazione del numero di riga possono essere modificate utilizzando l'opzione -w.
Ecco un esempio :
$ nl -w1 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w2 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w3 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w4 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w5 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w6 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America
L'output esaustivo sopra fornisce una buona idea di come è possibile modificare la colonna di visualizzazione per i numeri di riga.
5. Usa STILE per numerare le righe usando l'opzione -b
Sono disponibili vari STYLE per la numerazione delle righe. Dalla pagina man :
STILE è uno di:
- a – numera tutte le righe
- t – numera solo le righe non vuote
- n – numero nessuna riga
- pBRE – numera solo le righe che contengono una corrispondenza per l'espressione regolare di base, BRE
Nell'esempio seguente, ho usato un'espressione regolare 'pA' come STYLE con l'opzione -b. Questa espressione regolare corrisponde alle righe che iniziano con 'A' e quindi il comando nl numera solo quelle righe.
$ nl -bpA sort.txt UK 1 Australia Newzealand Brazil 2 America
Quindi vediamo che solo le righe che iniziano con 'A' erano numerate.
6. Usa FORMAT diverso per inserire i numeri di riga usando -n opzioni
Sono disponibili vari FORMATI per l'inserimento dei numeri di riga. Dalla pagina man :
FORMAT è uno di:
- ln – giustificato a sinistra, senza zeri iniziali
- rn – giustificato a destra, senza zeri iniziali
- rz – giustificato a destra, zeri iniziali
Ecco un esempio che ha dimostrato tutti i formati precedenti:
$ nl -nln sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -nrn sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -nrz sort.txt 000001 UK 000002 Australia 000003 Newzealand 000004 Brazil 000005 America
Tieni presente che puoi anche usare il comando sed per contare il numero di righe in un file.
Esempi di comandi Linux wc
L'utilità wc in Linux viene utilizzata per stampare informazioni come il numero di nuove righe, le parole, il conteggio dei byte di un file.
Ecco la sintassi e la descrizione dalla pagina man :
SINOSSI
wc [OPZIONE]… [FILE]…
wc [OPZIONE]… –files0-from=F
DESCRIZIONE
Stampa i conteggi di nuove righe, parole e byte per ogni FILE e una riga totale se è specificato più di un FILE. Senza FILE, o
quando FILE è -, leggi lo standard input. Una parola è una sequenza di caratteri di lunghezza diversa da zero delimitata da spazi bianchi.
1. Un esempio di base
Ecco un esempio di base del comando wc di Linux:
$ cat sort.txt UK Australia Newzealand Brazil America $ wc sort.txt 5 5 41 sort.txt
I tre numeri prodotti in output corrispondono a numero di righe, numero di parole e numero di byte. Questi tre numeri sono seguiti dal nome del file.
2. Visualizza il conteggio delle parole tramite l'opzione -w
Il conteggio delle parole di un file può essere visualizzato esplicitamente tramite l'opzione -w.
Ecco un esempio :
$ wc -w sort.txt 5 sort.txt
Quindi vediamo che il numero di parole è stato stampato seguito dal nome del file.
3. Visualizza la lunghezza della linea più lunga tramite l'opzione -L
Il comando wc fornisce un'opzione -L che può essere utilizzata per visualizzare la lunghezza della riga più lunga nel file.
Ecco un esempio :
$ wc -L sort.txt 10 sort.txt
Quindi vediamo che la lunghezza della linea più lunga ("Newzealand" nel nostro caso) è stata visualizzata nell'output.
4. Visualizza il numero di nuove righe tramite l'opzione -l
Il comando wc fornisce un'opzione -l attraverso la quale il numero di nuove righe può essere visualizzato nell'output.
Ecco un esempio :
$ wc -l sort.txt 5 sort.txt
Quindi vediamo che c'erano 5 newline nel file sort.txt
5. Visualizza il numero di byte tramite l'opzione -c
Il numero totale di byte in un file può essere visualizzato usando l'opzione -c del comando wc.
Ecco un esempio :
$ wc -c sort.txt 41 sort.txt