linux_papel

En Linux, el comando de pliegue puede envolver texto que se muestra más ancho que el ancho de un monitor.

El pliegue de Linux toma líneas de texto y las divide en fragmentos según los argumentos que proporcione. Sin argumentos, fold dividirá las líneas en 80 caracteres.

El primer ejemplo a continuación utiliza un archivo de texto de una sola línea que incluye indicaciones de las posiciones de los caracteres. Primero, contamos el número de caracteres y líneas en el archivo usando el comando wc -l y wc -l :

$ wc -c wide_text
251 wide_text
$ wc -l wide_text
1 wide_text

Entonces, este archivo tiene 251 caracteres (incluido un retorno de carro) y una sola línea de texto. A continuación, mostramos el archivo usando el comando cat :

$ cat wide_text
.........1.........2.........3.........4.........5 ......... 6 ......... 7 ......... 8 ......... 9 ........ 10. .........11........12........13........14........15...... ..16........17........18........19........20........21.. ......22........23........24........25

Luego usamos el comando plegar para dividir el archivo en líneas separadas:

$ fold wide_text
.........1.........2.........3.........4.........5 .........6.........7.........8
.........9........10........11........12........13.... ....14........15........16
........17........18........19........20........21..... ...22........23........24
........25

En el ejemplo anterior, se pasa una línea de 250 caracteres al comando de plegado y genera cuatro líneas de texto: tres con 80 caracteres y una cuarta con los 10 restantes.

Sin embargo, el comando de plegado proporciona la opción -c (caracteres) para dividir las líneas en fragmentos más grandes o más pequeños. En el siguiente ejemplo, dividimos el contenido del archivo de texto ancho en fragmentos de 50 caracteres.

$ fold -c50 wide_text
.........1.........2.........3.........4.........5
.........6.........7.........8.........9........10
........11........12........13........14........15
........16........17........18........19........20
........21........22........23........24........25

Doblar el texto y crear un nuevo archivo en un solo paso es fácil:

$ fold -c50 wide_text folded_text
$ wc -l folded_text; wc -c folded_text
5 folded_text
255 folded_text

Como puede ver, el archivo fold_text contiene cinco líneas de texto y 255 caracteres. También puede doblar líneas por bytes en lugar de caracteres usando la opción -b cuando sea útil. En algunos casos, esto cambia la salida.

Ahora veamos un ejemplo más realista en el que dividimos un archivo de texto con líneas muy largas en líneas más razonables para su visualización.

Primero, para ver cuántos caracteres hay en cada línea de un archivo, usamos un script como el que se muestra a continuación. Los dos comandos if en la parte superior verifican que se haya proporcionado un nombre de archivo y que el archivo especificado exista. El comando while en la parte inferior muestra la longitud de cada línea en el archivo.

#!/bin/bash

# check for an argument
if [ $# -eq 0 ]; then
    echo -n  "file: "
    read file
else
    file=$1
fi

# make sure the file exists or exit
if [ ! -f $file ]; then
    echo "ERROR: cannot find $file"
    exit 1
fi

$ count characters in each line
while read line; do
    echo $line | wc -c
done < $file

El script muestra la longitud de cada línea en el archivo, claramente más de lo que se mostraría bien en una ventana de terminal, por lo que es un buen candidato para el plegado.

$ chars-per-line Lorem_ipsum | head -6
7
137
149
153
154
35

Si dividimos este archivo en líneas de 80 caracteres, podemos ver algo como el siguiente ejemplo usando el texto "Lorem ipsum" de siglos de antigüedad:

$ fold Lorem_ipsum
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
ncididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostru
d ejercicio ullamco laboris nisi ut aliquip ex ea commodo consequat. duis aut
e irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat n
ulla pariátur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
oficia deserunt mollit anim id est laborum.

Como puede ver en el ejemplo anterior, dividir archivos de texto en una posición fija probablemente no sea una buena opción, ya que probablemente dividiría algunas palabras en dos partes.

Cuando agregamos la opción -s (romper en espacios), obtenemos una representación mucho más útil del texto:

$ fold -s Lorem_ipsum
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud ejercicio ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui oficia deserunt mollit anim id est laborum.

Nota: Los archivos de texto serán un poco más grandes cuando se plieguen con el comando de pliegue porque contendrán más caracteres de nueva línea (retorno de carro).

Envolver

El comando plegar puede ser muy útil cuando desea convertir párrafos de texto en líneas separadas que no tengan tantos caracteres y se rompan en los límites de las palabras. Esto puede facilitar mucho la visualización de un texto grande.

 

Fuente: networkworld | somoslibres

¿Quién está en línea?

Hay 34780 invitados y ningún miembro en línea