Il tutorial sul comando di piegatura con esempi per principianti
Ti sei mai trovato nella situazione in cui desideri piegare o spezzare l'output di un comando per adattarlo a una larghezza specifica? Mi sono trovato in questa situazione alcune volte durante l'esecuzione di VM, in particolare i server senza GUI. Per ogni evenienza, se mai volessi limitare l'output di un comando a una larghezza particolare, non cercare da nessuna parte! Basta usare il comando piega! Il comando fold avvolge ogni riga in un file di input per adattarla a una larghezza specificata e la stampa sullo standard output.
In questo breve tutorial vedremo l'utilizzo del comando fold con esempi pratici.
Il tutorial sul comando di piegatura con esempi
Il comando Fold fa parte del pacchetto GNU coreutils, quindi non preoccupiamoci dell'installazione.
La sintassi tipica del comando fold:
fold [OPTION]... [FILE]...Permettimi di mostrarti alcuni esempi, così puoi avere un'idea migliore del comando fold. Ho un file chiamato linux.txt con alcune righe casuali.
Per mandare a capo ogni riga nel file sopra alla larghezza predefinita, esegui:
fold linux.txt80 colonne per riga è la larghezza predefinita. Ecco l'output del comando precedente:
Come puoi vedere nell'output sopra, il comando fold ha limitato l'output a una larghezza di 80 caratteri.
Naturalmente, puoi specificare la larghezza che preferisci, ad esempio 50, come di seguito:
fold -w50 linux.txtL'output di esempio sarebbe:
Invece di visualizzare semplicemente l'output, possiamo anche scrivere l'output in un nuovo file come mostrato di seguito:
fold -w50 linux.txt > linux1.txtIl comando precedente riporterà le righe di linux.txt a una larghezza di 50 caratteri e scriverà l'output in un nuovo file denominato linux1.txt.
Controlliamo il contenuto del nuovo file:
cat linux1.txtHai notato da vicino l'output dei comandi precedenti? Alcune parole sono spezzate tra le righe. Per superare questo problema, possiamo usare il flag '-s' per interrompere le righe negli spazi.
Il comando seguente avvolge ogni riga in un determinato file fino alla larghezza "50" e interrompe la riga in corrispondenza degli spazi:
fold -w50 -s linux.txtOutput di esempio:
Vedere? Ora, il risultato è molto chiaro. Questo comando inserisce ogni parola separata da spazi in una nuova riga e le parole con lunghezza > 50 vengono spostate a capo.
In tutti gli esempi precedenti, abbiamo limitato la larghezza dell'output in colonne. Tuttavia, possiamo imporre la larghezza dell'output al numero di byte specificati utilizzando l'opzione -b. Il comando seguente interrompe l'output a 20 byte.
fold -b20 linux.txtOutput di esempio:
Leggi anche:
- Il tutorial sui comandi Uniq con esempi per principianti
Per maggiori dettagli fare riferimento alle pagine man.
man fold




