Linux / Comando fmt: reajustar los párrafos de texto plano

fmt imprime párrafos de texto plano reorganizando la longitud de las líneas para que sean más fáciles de leer. Se puede usar para organizar notas o borradores que tengan saltos de línea irregulares.

Como es una herramienta para reorganizar párrafos, no es adecuada para código fuente que tenga límites de línea significativos, CSV, tablas en Markdown o registros. El archivo original básicamente no se modifica y se muestra el texto ajustado.

Sintaxis básica

fmt [opciones] [archivo ...]

La implementación instalada y las opciones pueden variar según la distribución. Verifique la descripción de man fmt en el sistema actual.

Ejemplos de uso

Organización básica de párrafos

Reorganiza las líneas del párrafo de entrada para que tengan un ancho de lectura común.

fmt notes.txt

Especificación de ancho de línea

Se vuelven a plegar los párrafos apuntando a unas 60 columnas.

fmt -w 60 draft.txt

Guardar salida por separado

Se mantiene el original y se guarda el resultado en un archivo nuevo.

fmt -w 72 draft.txt > draft-formatted.txt

Comprender el resultado de volver a plegar un párrafo

fmt no solo corta según un ancho especificado, sino que vuelve a organizar las palabras dentro del párrafo. El siguiente ejemplo convierte una línea larga en varias líneas de aproximadamente 20 caracteres de ancho.

printf 'one two three four five six\n' | fmt -w 20

Ejemplo de salida (la disposición de las palabras puede variar según la implementación y las opciones):

one two three four
five six

fmt no es una herramienta que corte palabras estrictamente por la mitad. Para cortar posiciones de caracteres con ancho fijo, use fold. Para textos donde la estructura de espacios es importante, como código, tablas o sangrías, debe previsualizar el resultado antes de aplicar la reformateo de párrafos.

Opciones y formatos principales

Opciones·Formato Descripción
-w N Establece el ancho máximo de línea en N columnas.
-s Divide solo las líneas largas sin unir las cortas.
-u Ajusta uniformemente el espaciado entre palabras.
-p prefijo Aplica únicamente a las líneas que tienen el prefijo especificado.

Precauciones al usar

Dado que fmt no entiende el significado del formato, es necesario revisar el resultado en documentos que contengan listas con sangría, bloques de código y citas. Como el ancho de los caracteres puede diferir del que se muestra en la pantalla, también verifique la entrada de caracteres coreanos y anchos.

Preguntas frecuentes

¿fmt modifica el archivo original?

No. Por defecto, envía el resultado a la salida estándar. Verifíquelo después de guardarlo en un archivo separado.

Documentación oficial

Se pueden consultar las diferencias exactas en el funcionamiento de las opciones y entre implementaciones en la documentación oficial de fmt.