Comando fold su Linux: come dividere le righe lunghe
Il comando fold spezza le righe lunghe dell’input per limitarne la larghezza in uscita. A differenza di fmt, che riorganizza i paragrafi, fold interviene sulla larghezza delle singole righe.
La larghezza predefinita è di 80 colonne. L’opzione -s privilegia, quando possibile, la divisione in corrispondenza degli spazi. Il risultato viene inviato allo standard output e il file originale non viene modificato.
Sintassi di base
fold [opzioni] [file ...]
Implementazione e opzioni possono variare tra distribuzioni. Consultare man fold sul proprio sistema.
Esempi di utilizzo
Per visualizzare un file con la larghezza predefinita di 80 colonne, eseguire:
fold long-lines.txt
Per impostare 60 colonne e privilegiare la divisione sugli spazi, usare:
fold -s -w 60 paragraph.txt
Sostituire i nomi con quelli dei file disponibili. Una parola più lunga della larghezza scelta può comunque essere spezzata.
Provare una larghezza fissa
Questo esempio crea un input senza spazi e lo divide ogni quattro colonne:
printf 'abcdefghij\n' | fold -w 4
Risultato atteso:
abcd
efgh
ij
Opzioni e limiti
| Opzione | Funzione |
|---|---|
-w N |
Imposta la larghezza dell’output. |
-s |
Divide sugli spazi quando possibile. |
-b |
Conta la larghezza in byte anziché in colonne visualizzate. |
L’opzione -b può interrompere un carattere UTF-8 a metà della sequenza di byte. Prestare attenzione ai testi multilingue: anche tabulazioni, caratteri larghi ed emoji possono essere visualizzati diversamente a seconda dell’ambiente. Se i confini delle righe originali hanno significato per i dati, controllare il risultato prima di utilizzarlo come input di un altro programma.
Differenza tra fold e fmt
fold limita la lunghezza delle singole righe, mentre fmt riorganizza le interruzioni di riga di un paragrafo. Per i dettagli sulle opzioni e sul comportamento GNU, consultare la documentazione GNU di fold.
