Fmt
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Nota_disambigua.svg/18px-Nota_disambigua.svg.png)
fmt software | |
---|---|
Genere | Utility |
Sviluppatore | Originali: AT&T Bell Laboratories Vari sviluppatori open source e commerciali |
Sistema operativo | Unix-like Multipiattaforma |
Licenza | (licenza libera) |
Modifica dati su Wikidata · Manuale |
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.
Panoramica
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.
Esempio
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.
Note
- ^ (EN) Pagina man di Solaris per fmt, su Sun.
- ^ (EN) Voce fmt del manuale di comandi FreeBSD, su freebsd.org.
- ^ (EN) Documentazione dell'utility GNU fmt, su FSF.
- ^ (EN) Pagina man Plan9 del comando fmt, su Alcatel-Lucent, 2020.
Voci correlate
par
fold
Collegamenti esterni
- (EN) fmt(1) – Plan 9 Programmer's Manual, Volume 1
- (EN) fmt(1) – Inferno General commands Manual
V · D · M | ||
---|---|---|
File system | cat · cd · chattr · chmod · chown · chgrp · cksum · cmp · cp · du · df · fdisk · file · fsck · fuser · gzip · ln · ls · lsattr · lsof · mkdir · mknod · mount · mv · pwd · rm · rmdir · split · tar · touch · umount · umask | ![]() |
Processi | at · chroot · crontab · exit · kill · killall · nice · nohup · pgrep · pidof · pkill · ps · pstree · sleep · time · top · wait | |
Ambiente utente | alias · env · export · finger · id · logname · mesg · newgrp · passwd · su · sudo · uname · uptime · w · wall · who · whoami · write | |
Elaborazione testo | awk · comm · cut · diff · ed · ex · fmt · head · iconv · join · less · more · paste · sed · sort · tail · tr · uniq · vi · wc · xargs | |
Script di shell | basename · dirname · echo · expr · false · printf · test · true · unset | |
Rete | dig · nslookup · ifconfig · netstat · ping · rcp · rlogin · route · netcat · traceroute | |
Ricerche | find · grep · strings | |
Amministrazione | dmesg · groupadd · groupdel · groupmod · mdadm · shutdown · useradd · userdel · usermod | |
Altri | banner · bc · cal · clear · date · dd · lp · man · size · tee · tput · yes |
V · D · M | ||
---|---|---|
File system | chcon · chmod · chown · chgrp · cksum · cp · dd · df · dir · dircolors · install · ln · ls · mkdir · mkfifo · mknod · mktemp · mv · realpath · rm · rmdir · shred · sync · touch · truncate · vdir | ![]() |
Utilità testuali | b2sum · base32 · base64 · cat · cksum · comm · csplit · cut · expand · fmt · fold · head · join · md5sum · nl · numfmt · od · paste · ptx · pr · sha1sum · shuf · sort · split · sum · tac · tail · tr · tsort · unexpand · uniq · wc | |
Utilità della shell | arch · basename · chroot · date · dirname · du · echo · env · expr · factor · false · groups · hostid · id · link · logname · nice · nohup · nproc · pathchk · pinky · printenv · printf · pwd · readlink · runcon · seq · sleep · stat · stdbuf · stty · tee · test · timeout · true · tty · uname · unlink · uptime · users · who · whoami · yes |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Gnome-system-lock-screen.svg/25px-Gnome-system-lock-screen.svg.png)