Il comando fmt presente nei sistemi operativi Unix, Plan 9, Inferno e Unix-like viene utilizzato per formattare testo in linguaggio naturale in modo da ottenere una lettura agevole da parte di esseri umani.

fmt
software
GenereUtility
SviluppatoreOriginali: AT&T Bell Laboratories

Vari sviluppatori open-source e commerciali

Sistema operativoUnix-like
Multipiattaforma
Licenza(licenza libera)

PanoramicaModifica

Questo comando è stato tradizionalmente utilizzato per riformattare i messaggi di posta elettronica appena composti prima dell'invio. La sua sintassi è simile a diversi comandi Unix, tuttavia non è identica.

fmt tenta di spezzare, riempire e unire le linee di input per produrre un output globalmente ottimale e bilanciato dove la lunghezza di ogni linea si avvicini il più possibile alla larghezza di destinazione, diversamente dal comportamento del comando fold (da GNU Core Utilities) il quale spezza semplicemente le linee di input andando a capo.

Nella maggior parte delle implementazioni di fmt la procedura di ottimizzazione del taglio di parola di solito richiede due criteri: la larghezza della linea di destinazione e la larghezza della linea massima accettabile (che dovrebbe essere più grande di quella precedente per dare spazio all'ottimizzazione). Potrebbe non essere sempre possibile fornire queste due opzioni contemporaneamente: ad esempio, nelle prime versioni di GNU fmt tale comando poteva solo accettare l'opzione della larghezza massima, che è data dall'opzione -w, o direttamente -digits come prima opzione della riga di comando per la compatibilità (le versioni successive usano -g per specificare la larghezza dell'obiettivo e -w per la larghezza massima).[1][2][3][4]

Differentemente dal comando par, fmt non supporta Unicode e non supporta la giustificazione del testo.

EsempioModifica

Dato un testo in input come questo:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur dignissim
venenatis pede. Quisque dui dui, ultricies ut, facilisis non, pulvinar non. Duis quis arcu a purus volutpat iaculis. Morbi id dui in diam ornare
dictum. Praesent consectetuer vehicula ipsum. Praesent tortor massa, congue et,
ornare in, posuere eget, pede.

Vivamus rhoncus. Quisque lacus. In hac habitasse platea dictumst. Nullam mauris
tellus, sollicitudin non, semper eget, sodales non, pede. Phasellus varius
ullamcorper libero. Fusce ipsum lorem, iaculis nec, vulputate vitae, suscipit
vel, tortor. Cras varius.

Nullam fringilla pellentesque orci. Nulla eu ante pulvinar velit rhoncus
lacinia. Morbi fringilla lacus quis arcu. Vestibulum sem quam, dapibus in,
fringilla ut, venenatis ut, neque.

Dopo averlo passato attraverso fmt -w 50 la larghezza di ogni riga è al massimo 50 caratteri e il testo scorre rispettando questo vincolo:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur dignissim venenatis pede. Quisque dui dui, ultricies ut, facilisis non, pulvinar non, purus. Duis quis arcu a purus volutpat iaculis. Morbi id dui in diam ornare dictum. Praesent consectetuer vehicula ipsum. Praesent tortor massa, congue et, ornare in, posuere eget, pede.

Vivamus rhoncus. Quisque lacus. In hac habitasse platea dictumst. Nullam mauris tellus, sollicitudin non, semper eget, sodales non, pede. Phasellus varius ullamcorper libero. Fusce ipsum lorem, iaculis nec, vulputate vitae, suscipit vel, tortor. Cras varius.

Nullam fringilla pellentesque orci. Nulla eu ante pulvinar velit rhoncus lacinia. Morbi fringilla lacus quis arcu. Vestibulum sem quam, dapibus in, fringilla ut, venenatis ut, neque.

NoteModifica

Voci correlateModifica

Collegamenti esterniModifica

  • (EN) fmt(1) – Plan 9 Programmer's Manual, Volume 1
  • (EN) fmt(1) – Inferno General commands Manual