Las distribuciones GNU / Linux incluyen una gran cantidad de programas para manejar texto, la mayoría de los cuales son proporcionados por las utilidades principales de GNU. Existe una cierta curva de aprendizaje, pero estas utilidades pueden resultar muy útiles y eficientes cuando se usan correctamente.
Aquí hay trece poderosas herramientas de manipulación de texto que todo usuario de la línea de comandos debería conocer.
Contenidos
1. gato
Cat fue diseñado para estafargatoenate, pero se utiliza con mayor frecuencia para mostrar un solo archivo. Sin argumentos, cat lee la entrada estándar hasta Ctrl + re se presiona (desde el terminal o desde otra salida de programa si se usa una tubería). La entrada estándar también se puede especificar explícitamente con un -
.
Cat tiene varias opciones útiles, en particular:
-
-A
imprime “$” al final de cada línea y muestra los caracteres que no se imprimen utilizando la notación de intercalación. -
-n
numera todas las líneas. -
-b
líneas de números que no están en blanco. -
-s
reduce una serie de líneas en blanco a una sola línea en blanco.
En el siguiente ejemplo, estamos concatenando y numerando el contenido de archivo1, entrada estándar y archivo3.
2. ordenar
Como sugiere su nombre, sort
ordena el contenido del archivo alfabéticamente y numéricamente.
3. uniq
Uniq toma un archivo ordenado y elimina las líneas duplicadas. A menudo está encadenado con sort
en un solo comando.
4. com
Comm se utiliza para comparar dos archivos ordenados, línea por línea. Genera tres columnas: las dos primeras columnas contienen líneas exclusivas del primer y segundo archivo respectivamente, y la tercera muestra las que se encuentran en ambos archivos.
5. cortar
Cortar se utiliza para recuperar secciones específicas de líneas, basadas en caracteres, campos o bytes. Puede leer desde un archivo o desde una entrada estándar si no se especifica ningún archivo.
Cortar por posición de personaje
los -c
La opción especifica la posición de un solo carácter o uno o más rangos de caracteres.
Por ejemplo:
-
-c 3
: el 3er carácter. -
-c 3-5
: del 3º al 5º carácter. -
-c -5
o-c 1-5
: del 1º al 5º carácter. -
-c 5-
: desde el quinto carácter hasta el final de la línea. -
-c 3,5-7
: el 3º y del 5º al 7º carácter.
Cortando por campo
Los campos están separados por un delimitador que consta de un solo carácter, que se especifica con el -d
opción. los -f
La opción selecciona una posición de campo o uno o más rangos de campos usando el mismo formato que el anterior.
6. dos2unix
GNU / Linux y Unix suelen terminar las líneas de texto con un salto de línea (LF), mientras que Windows usa retorno de carro y salto de línea (CRLF). Pueden surgir problemas de compatibilidad al manejar texto CRLF en Linux, que es donde entra en juego dos2unix. Convierte terminadores CRLF a LF.
En el siguiente ejemplo, el file
El comando se usa para verificar el formato de texto antes y después de usar dos2unix
.
7. doblar
Para que las líneas largas de texto sean más fáciles de leer y manejar, puede usar fold
, que ajusta las líneas a un ancho especificado.
Fold coincide estrictamente con el ancho especificado por defecto, dividiendo las palabras cuando sea necesario.
Si no desea romper palabras, puede utilizar el -s
Opción de romper en espacios.
fold -w 30 -s longline.txt
8. iconv
Esta herramienta convierte texto de una codificación a otra, lo cual es muy útil cuando se trata de codificaciones inusuales.
iconv -f input_encoding -t output_encoding -o output_file input_file
- “Input_encoding” es la codificación desde la que está convirtiendo.
- “Output_encoding” es la codificación a la que está convirtiendo.
- “Output_file” es el nombre de archivo en el que se guardará iconv.
- “Input_file” es el nombre de archivo que iconv leerá.
Nota: puede enumerar las codificaciones disponibles con iconv -l
9. sed
sed es un potente y flexible stream editor, más comúnmente utilizado para buscar y reemplazar cadenas con la siguiente sintaxis.
El siguiente comando leerá desde el archivo especificado (o entrada estándar), reemplazando las partes del texto que coinciden con el patrón de expresión regular con la cadena de reemplazo y enviando el resultado al terminal.
sed s/pattern/replacement/g filename
Para modificar el archivo original en su lugar, puede utilizar el -i
bandera.
10. WC
los wc
La utilidad imprime el número de bytes, caracteres, palabras o líneas de un archivo.
11. dividir
Puedes usar split
para dividir un archivo en archivos más pequeños, por número de líneas, por tamaño o por un número específico de archivos.
División por número de líneas
split -l num_lines input_file output_prefix
Dividir por bytes
split -b bytes input_file output_prefix
Dividir en un número específico de archivos
split -n num_files input_file output_prefix
12. tac
Tac, que es cat al revés, hace exactamente eso: muestra archivos con las líneas en orden inverso.
13. tr
La herramienta tr se utiliza para traducir o eliminar conjuntos de caracteres.
Un conjunto de caracteres suele ser una cadena o rangos de caracteres. Por ejemplo:
- “AZ”: todas las letras mayúsculas
- “A-z0-9”: letras minúsculas y dígitos
- “norte[:punct:]”: Caracteres de nueva línea y puntuación
Referirse a tr página de manual para más detalles.
Para traducir un conjunto a otro, utilice la siguiente sintaxis:
Por ejemplo, para reemplazar los caracteres en minúscula con su equivalente en mayúsculas, puede usar lo siguiente:
Para eliminar un conjunto de caracteres, utilice el -d
bandera.
Para eliminar el complemento de un conjunto de caracteres (es decir, todo excepto el conjunto), utilice -dc
.
Conclusión
Hay mucho que aprender cuando se trata de la línea de comandos de Linux. Con suerte, los comandos anteriores pueden ayudarlo a manejar mejor el texto en la línea de comandos.
¿Es útil este artículo?
Puedes compartirlo con algun conocido(a) que le pueda interesar