fmt (Unix)
El comando fmt en Unix, Plan 9, Inferno y sistemas operativos similares a Unix se utiliza para formatear texto en lenguaje natural para que los humanos puedan leerlo.
fmt | ||
---|---|---|
Parte de GNU Core Utilities | ||
Información general | ||
Tipo de programa | Orden | |
Autor | AT&T Bell Laboratories | |
Desarrollador | Varios desarrolladores open-source y commercials | |
Información técnica | ||
Plataformas admitidas | Multiplataforma | |
Visión general
editarLa orden se ha utilizado tradicionalmente para reformatear mensajes de correo electrónico después de su composición y antes de su envío. Su sintaxis es similar entre varios sistemas tipo Unix, pero no es idéntica. fmt intenta romper, rellenar y unir las líneas de entrada para producir una salida globalmente óptima y equilibrada con las longitudes de cada línea acercándose lo más posible al ancho objetivo, en lugar de cortar las líneas de entrada de forma exacta como hace fold (de GNU Core Utilities).
En la mayoría de las implementaciones de fmt, el procedimiento de optimización de salto de línea suele requerir dos criterios: el ancho de línea de salida objetivo y el ancho de línea máximo aceptable (que debe ser mayor que el anterior para dejar espacio a la optimización). Puede que no siempre sea posible dar estas dos opciones simultáneamente. Por ejemplo, las primeras versiones de GNU fmt sólo pueden aceptar la opción de anchura máxima, que viene dada por la opción -w
, o directamente -digits
como primera opción de la línea de comandos por compatibilidad (las versiones posteriores utilizan -g
para especificar la anchura objetivo y -w
para la anchura máxima). Consulte la página de manual de Solaris para fmt[1] y la entrada de manual de FreeBSD para fmt[2] para ver ejemplos detallados, y compare con la documentación más reciente de la utilidad GNU fmt[3] incluida por la mayoría de las distribuciones Linux. Véase también la página de fmt en el manual de Plan 9.[4]
A diferencia de par, fmt no tiene soporte Unicode, y no soporta justificación de texto.
El comando está disponible como un paquete separado para Microsoft Windows como parte de la colección UnxUtils de puertos Win32 nativos de utilidades GNU Unix-like comunes.[5]
Ejemplo
editarDado un texto como este como entrada:
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.
Después de pasarlo por fmt -w 50
, el ancho de cada línea es de 50 caracteres como máximo y el texto fluye dentro de esta restricción:
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.
Véase también
editarReferencias
editar- ↑ «Solaris 10 Reference Manual Collection». Sun.
- ↑ «FreeBSD General Commands Manual». FreeBSD.
- ↑ «GNU Coreutils Documentation». FSF.
- ↑ «Plan 9 /sys/man/1/fmt». Alcatel-Lucent. 2020.
- ↑ «Native Win32 ports of some GNU utilities». unxutils.sourceforge.net.