Ir al contenido

fmt (Unix)

De Wikipedia, la enciclopedia libre
(Redirigido desde «Fmt»)
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

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.

Visión general

[editar]

La 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

[editar]

Dado 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

[editar]

Referencias

[editar]

Enlaces externos

[editar]