Cómo analizar el archivo delimitado por pestañas usando 'AWK'

Cómo analizar el archivo delimitado por pestañas usando 'AWK'

'Tab' se usa como separador en el archivo delimitado. 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 pestañas de diferentes maneras. Los usos del comando 'AWK' para leer el archivo delimitado por tabulación han mostrado en este tutorial.

Cree un archivo con descarga de pestañas:

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

usuarios.TXT

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

Ejemplo-1: Imprima la segunda columna de un archivo delimitado por pestañas usando la opción -f

El siguiente comando 'Sed' imprimirá la segunda columna de un archivo de texto delimitado por pestañas. Aquí el '-F' La opción se usa 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 pestañas utilizando la variable FS

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

Usuarios de $ CAT.TXT
$ AWK 'imprimir $ 1' fs = '\ t' usuarios.TXT

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

Ejemplo-3: Imprima la tercera columna de un archivo delimitado con pestañas con formato

El siguiente comando 'sed' imprimirá la tercera columna del archivo de texto delimitado por tabulación con formato utilizando el FS variable y printf. Aquí el FS La variable se usa 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 columna del archivo delimitado por tabulación utilizando OFS

OFS (separador de campo de salida) se usa para agregar un separador de campo en la salida. El siguiente comando 'AWK' dividirá el contenido del archivo basado en el separador de pestaña (\ t) e imprimirá las columnas tercera y cuarta utilizando la pestaña (\ t) como separador.

Usuarios de $ CAT.TXT
$ awk -f "\ t" 'ofs = "\ t" imprimir $ 3, $ 4> ("salida.usuarios de txt ") '.TXT
$ CAT SALIDA.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: sustituya el contenido particular del archivo delimitado

La función sub () se usa en 'AWK para comandar la sustitución. El siguiente comando 'AWK' buscará el número 45 y sustituirá con el número 90 si existe el número de búsqueda 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); imprimir' usuarios.txt> salida.TXT
$ CAT SALIDA.TXT

La siguiente salida aparecerá después de ejecutar los comandos anteriores. La salida.El archivo 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 la cadena al comienzo de cada línea de un archivo delimitado por pestañas

A continuación, el comando 'AWK', la opción '-f' se usa para dividir el contenido del archivo basado en la pestaña (\ t). OFS ha usado 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 (/^/, "---->"); imprima $ 1, $ 2, $ 3' usuarios.TXT

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

Ejemplo-7: Sustituya el valor de un archivo TAB-Selimited mediante 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 coincide 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 su sustitución. El siguiente comando 'AWK' buscará la palabra 'nila' y 'mira' a nivel mundial en el archivo y sustituirá todos los ocurrencias por el texto, 'nombre inválido', donde la palabra de búsqueda coincide.

Usuarios de $ CAT.TXT
$ awk -f '\ t' 'gsub (/nila | mira/, "nombre inválido"); Impresión '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 pestañas

El siguiente comando 'AWK' imprimirá la primera y la segunda columna del archivo con el formato utilizando printf. La salida mostrará el nombre del usuario encerrando la dirección de correo electrónico en los soportes.

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 pestañas se puede analizar e imprimir fácilmente con otro delimitador utilizando el comando 'AWK'. Las formas de analizar archivos elegidos por pestañas e imprimir en diferentes formatos se han mostrado en este tutorial utilizando múltiples ejemplos. Los usos de las funciones sub () y gsub () en el comando 'AWK' para sustituir el contenido del archivo delimitado por pestañas también se explican en este tutorial. Espero que este tutorial ayude a los lectores a analizar el archivo con descarga de pestañas fácilmente después de practicar los ejemplos de este tutorial correctamente.