Awk

Cómo analizar el archivo delimitado por tabulaciones usando 'awk'

Cómo analizar el archivo delimitado por tabulaciones usando 'awk'

'tab' se utiliza como separador en el archivo delimitado por tabulaciones. Este tipo de archivo de texto se crea para almacenar varios tipos de datos de texto en un formato estructurado.  Existen diferentes tipos de comando en Linux para analizar este tipo de archivo.  El comando 'awk' es una de las formas de analizar el archivo delimitado por tabulaciones de diferentes maneras. En este tutorial se muestran los usos del comando 'awk' para leer el archivo delimitado por tabulaciones.

Cree un archivo delimitado por tabulaciones:

Crea un archivo de texto llamado usuarios.TXT con el siguiente contenido para probar los comandos de este tutorial. Este archivo contiene el nombre, correo electrónico, nombre de usuario y contraseña del usuario.

usuarios.TXT

Nombre Correo electrónico Nombre de usuario Contraseña
Maryland. Robin [correo electrónico protegido] robin89 563425
Nila Hasan [email protected] nila78 245667
Mirza Abbas [email protected] mirza23 534788
Aornob Hasan [correo electrónico protegido] arnob45 778473
Nuhas Ahsan [correo electrónico protegido] nuhas34 563452

Ejemplo-1: Imprima la segunda columna de un archivo delimitado por tabulaciones usando la opción -F

El siguiente comando 'sed' imprimirá la segunda columna de un archivo de texto delimitado por tabulaciones. Aquí el '-F' La opción se utiliza para definir el separador de campo del archivo.

usuarios de $ cat.TXT
$ awk -F '\ t' 'imprimir $ 2' usuarios.TXT

La siguiente salida aparecerá después de ejecutar los comandos. La segunda columna del archivo contiene las direcciones de correo electrónico del usuario, que se muestran como salida.

Ejemplo 2: Imprima la primera columna de un archivo delimitado por tabulaciones utilizando la variable FS

El siguiente comando 'sed' imprimirá la primera columna de un archivo de texto delimitado por tabulaciones. Aquí, FS La variable (Separador de campo) se utiliza para definir el separador de campo del archivo.

usuarios de $ cat.TXT
$ awk 'print $ 1' FS = '\ t' usuarios.TXT

La siguiente salida aparecerá después de ejecutar los comandos. La primera columna del archivo contiene los nombres de los usuarios, que se muestran como salida.

Ejemplo 3: imprima la tercera columna de un archivo delimitado por tabulaciones con formato

El siguiente comando 'sed' imprimirá la tercera columna del archivo de texto delimitado por tabulaciones con formato usando el FS variable y printf. Aquí el FS La variable se utiliza para definir el separador de campo del archivo.

usuarios de $ cat.TXT
$ awk 'BEGIN FS = "\ t" printf "% 10s \ n", $ 3' usuarios.TXT

La siguiente salida aparecerá después de ejecutar los comandos. La tercera columna del archivo contiene el nombre de usuario que se ha impreso aquí.

Ejemplo 4: imprima la tercera y cuarta columnas del archivo delimitado por tabulaciones mediante OFS

OFS (Separador de campo de salida) se utiliza para agregar un separador de campo en la salida. El siguiente comando 'awk' dividirá el contenido del archivo según el separador de tabuladores (\ t) e imprimirá la tercera y cuarta columnas utilizando la tabulación (\ t) como separador.

usuarios de $ cat.TXT
$ awk -F "\ t" 'OFS = "\ t" imprimir $ 3, $ 4> ("salida.txt ") 'usuarios.TXT
$ salida de gato.TXT

La siguiente salida aparecerá después de ejecutar los comandos anteriores. Las columnas 3 y 4 contienen el nombre de usuario y la contraseña, que se han impreso aquí.

Ejemplo-5: Sustituir el contenido particular del archivo delimitado por tabulaciones

La función sub () se usa en 'awk para ordenar la sustitución. El siguiente comando 'awk' buscará el número 45 y lo sustituirá por el número 90 si el número de búsqueda existe en el archivo. Después de la sustitución, el contenido del archivo se almacenará en la salida.archivo txt.

usuarios de $ cat.TXT
$ awk -F "\ t" 'sub (/ 45 /, 90); print' usuarios.txt> salida.TXT
$ salida de gato.TXT

La siguiente salida aparecerá después de ejecutar los comandos anteriores. La salida.txt muestra el contenido modificado después de aplicar la sustitución. Aquí, el contenido de la quinta línea se ha modificado y 'arnob45' se cambia a 'arnob90'.

Ejemplo 6: agregue una cadena al principio de cada línea de un archivo delimitado por tabuladores

A continuación, el comando 'awk', la opción '-F' se usa para dividir el contenido del archivo según la pestaña (\ t). OFS ha utilizado para agregar una coma (,) como separador de campo en la salida. La función sub () se usa para agregar la cadena '- →' al comienzo de cada línea de la salida.

usuarios de $ cat.TXT
$ awk -F "\ t" 'OFS = ","; sub (/ ^ /, "---->"); imprimir $ 1, $ 2, $ 3' usuarios.TXT

La siguiente salida aparecerá después de ejecutar los comandos anteriores. Cada valor de campo está separado por una coma (,) y se agrega una cadena al comienzo de cada línea.

Ejemplo-7: Sustituya el valor de un archivo delimitado por tabulaciones usando la función gsub ()

La función gsub () se usa en el comando 'awk' para la sustitución global. Todos los valores de cadena del archivo reemplazarán donde coincida el patrón de búsqueda. La principal diferencia entre las funciones sub () y gsub () es que la función sub () detiene la tarea de sustitución después de encontrar la primera coincidencia, y la función gsub () busca el patrón al final del archivo para la sustitución. El siguiente comando 'awk' buscará la palabra 'nila' y 'Mira' globalmente en el archivo y sustituirá todas las apariciones por el texto, 'Nombre no válido', donde la palabra de búsqueda coincide.

usuarios de $ cat.TXT
$ awk -F '\ t' 'gsub (/ nila | Mira /, "Nombre inválido"); print 'usuarios.TXT

La siguiente salida aparecerá después de ejecutar los comandos anteriores. La palabra 'nila' existe dos veces en la tercera línea del archivo que ha sido reemplazada por la palabra 'Nombre inválido' en la salida.

Ejemplo-8: Imprima el contenido formateado desde un archivo delimitado por tabulaciones

El siguiente comando 'awk' imprimirá la primera y la segunda columna del archivo con formato usando printf. La salida mostrará el nombre del usuario encerrando la dirección de correo electrónico entre paréntesis.

usuarios de $ cat.TXT
$ awk -F '\ t' 'printf "% s (% s) \ n", $ 1, $ 2' usuarios.TXT

La siguiente salida aparecerá después de ejecutar los comandos anteriores.

Conclusión

Cualquier archivo delimitado por tabulaciones se puede analizar e imprimir fácilmente con otro delimitador mediante el comando 'awk'. Las formas de analizar archivos delimitados por tabuladores e imprimir en diferentes formatos se muestran en este tutorial mediante el uso de varios ejemplos. Los usos de las funciones sub () y gsub () en el comando 'awk' para sustituir el contenido del archivo delimitado por tabulaciones también se explican en este tutorial. Espero que este tutorial ayude a los lectores a analizar fácilmente el archivo delimitado por tabulaciones después de practicar correctamente los ejemplos de este tutorial.

El cursor salta o se mueve aleatoriamente mientras escribe en Windows 10
Si descubre que el cursor del mouse salta o se mueve por sí solo, automáticamente, de manera aleatoria mientras escribe en una computadora portátil o ...
Cómo invertir la dirección de desplazamiento del mouse y los paneles táctiles en Windows 10
Ratón y Panel táctils no solo facilitan la informática, sino que también hacen que sea más eficiente y requieran menos tiempo. No podemos imaginar una...
Cómo cambiar el tamaño, el color y el esquema del puntero del mouse y del cursor en Windows 10
El puntero y el cursor del mouse en Windows 10 son aspectos muy importantes del sistema operativo. Esto también se puede decir de otros sistemas opera...