nl
è un comando Unix che aggiunge numeri di riga a un file di testo. È uno strumento utile per numerare righe in documenti, codice sorgente o altri file di testo.
Sintassi:
nl [OPZIONE]... [FILE]...
Funzionalità Principali:
nl
legge il file di input (o l'input standard se non viene specificato alcun file) e aggiunge un numero di riga all'inizio di ogni riga (o di determinate righe, a seconda delle opzioni).nl
offre diverse opzioni per personalizzare il modo in cui le righe vengono numerate, come la formattazione dei numeri, l'intervallo tra i numeri e il testo, e le righe da numerare.nl
invia l'output con le righe numerate all'output standard.Opzioni Comuni:
-b TIPO
(o --body-numbering=TIPO
): Specifica il tipo di riga da numerare. Tipi comuni includono:
a
: Numera tutte le righe.t
: Numera solo le righe non vuote (predefinito).n
: Non numerare nessuna riga.pREGEXP
: Numera solo le righe che corrispondono all'espressione regolare REGEXP. Vedi l'articolo sulle espressioni%20regolari.-f TIPO
(o --footer-numbering=TIPO
): Specifica il tipo di riga da numerare nella sezione del footer del file (se diviso in sezioni con -p
). I tipi sono gli stessi di -b
.
-h TIPO
(o --header-numbering=TIPO
): Specifica il tipo di riga da numerare nella sezione dell'header del file (se diviso in sezioni con -p
). I tipi sono gli stessi di -b
.
-i N
(o --line-increment=N
): Imposta l'incremento tra i numeri di riga su N
. Il valore predefinito è 1.
-n FORMATO
(o --number-format=FORMATO
): Specifica il formato del numero di riga. Formati comuni includono:
ln
: Allineamento a sinistra, sopprimendo gli zeri iniziali.rn
: Allineamento a destra, sopprimendo gli zeri iniziali.rz
: Allineamento a destra, con zeri iniziali. Vedi l'articolo sull'allineamento.-w N
(o --number-width=N
): Imposta la larghezza del campo per i numeri di riga su N
caratteri. Il valore predefinito è 6.
-s STRINGA
(o --separator=STRINGA
): Specifica la stringa di separazione tra il numero di riga e il testo. Il valore predefinito è un carattere di tabulazione.
-v START
(o --starting-line=START
): Imposta il numero di riga iniziale su START
. Il valore predefinito è 1.
-p
: Tratta il file come se contenesse sezioni logiche. Le sezioni sono separate da righe contenenti solo il carattere separatore della pagina (normalmente \f
). Permette di avere header, body e footer con numerazione differente. Il carattere di separazione della pagina è una sequenza%20di%20escape.
Esempi:
Numerare tutte le righe di un file:
nl -b a file.txt
Numerare solo le righe non vuote (comportamento predefinito):
nl file.txt
Numerare le righe con un formato di numero allineato a destra con zeri iniziali e una larghezza di 4:
nl -n rz -w 4 file.txt
Numerare le righe a partire da 10:
nl -v 10 file.txt
Utilità:
nl
è utile per generare output formattato di file di testo, particolarmente quando si vuole fare riferimento a specifiche righe. Può essere usato in script di shell per automatizzare la generazione di report numerati o per elaborare file di testo in modo più strutturato. È uno strumento semplice ma efficace per la manipolazione di testo da riga di comando.