Linux / Comando fold: dividir líneas largas por ancho
fold divide líneas largas de la entrada en varias líneas según un ancho especificado. A diferencia de fmt, que reorganiza los párrafos de manera natural, se centra en limitar el ancho de visualización de las líneas.
El ancho predeterminado es de 80 columnas. Al usar -s, se dividirán las líneas en los espacios entre palabras cuando sea posible. Se conservarán los saltos de línea originales y solo se enviará el resultado a la salida estándar.
Sintaxis básica
fold [opciones] [archivo ...]
La implementación instalada y las opciones pueden variar según la distribución. Verifique la descripción de man fold en el sistema actual.
Ejemplos de uso
Ajustar al ancho predeterminado
Divide líneas largas basándose en 80 columnas.
fold long-lines.txt
Especificar un ancho de 60 columnas
Se imprime ajustándose al ancho del terminal o del documento.
fold -w 60 long-lines.txt
Prioridad a los límites de palabras
Si es posible, se divide en los espacios para reducir la interrupción en medio de las palabras.
fold -s -w 60 paragraph.txt
Vista de salida dividida en ancho fijo
fold -w 4 corta las líneas a un ancho fijo. La cadena de abajo no tiene espacios, por lo que se crea una nueva línea cada cuatro caracteres.
printf 'abcdefghij\n' | fold -w 4
Ejemplo de salida:
abcd
efgh
ij
Para evitar interrumpir palabras tanto como sea posible, revise la opción -s. Sin embargo, fold es diferente de fmt, que reorganiza los párrafos de manera natural. Para entradas con tabulaciones, caracteres de varios bytes o caracteres de ancho amplio, se debe considerar la diferencia entre el ancho de la pantalla y el número de bytes.
Opciones y formatos principales
| Opciones·Formato | Descripción |
|---|---|
-w N |
Especifica el ancho máximo de la línea de salida. |
-s |
Divide la línea en los espacios cuando sea posible. |
-b |
Cuenta el ancho en bytes en lugar de columnas de pantalla. |
Precauciones al usar
-b puede cortar en medio de un carácter UTF-8, así que no la utilice sin comprobar el resultado con texto multilingüe. El ancho real de los caracteres en la terminal y el ancho de los emojis pueden variar según el entorno. Si las filas originales de los datos tienen un significado, es más seguro no reutilizar el resultado plegado como entrada de datos.
Preguntas frecuentes
¿Cuál es la diferencia entre fold y fmt?
fold limita la longitud de cada línea, y fmt reorganiza los saltos de línea de los párrafos de texto normal.
Documentación oficial
Se puede consultar el funcionamiento exacto de las opciones y las diferencias según la implementación en la documentación oficial de fold.




