Cómo usar múltiples delimiters en AWK

Cómo usar múltiples delimiters en AWK
AWK es un lenguaje de programación potente y coincidente que funciona en la línea de comando para encontrar varios patrones en salidas y archivos de comandos.

Podemos considerar AWK una mejora sobre SED, ya que ofrece más características, incluidas matrices, variables, bucles y buenas expresiones regulares y viejas.

En este tutorial, discutiremos rápidamente cómo puede usar múltiples delimitadores en un comando AWK. Antes de continuar, tenga en cuenta que este tutorial no es una guía para principiantes para AWK, ni tenía la intención de que así sea como tal.

Consulte el siguiente recurso si necesita una guía para principiantes para AWK.

https: // linuxhint.com/use_awk_linux/

¿Qué son los delimitadores??

Estoy seguro de que, dado que se toma el tiempo de leer este artículo, está familiarizado con el concepto de delimitadores. Pero no está de más resumir, así que hagamos eso ahora:

En pocas palabras, los delimitadores son una secuencia de caracteres utilizados para separar los valores de texto de cadena. Hay varios tipos comunes de delimitadores que incluyen:

Nombre Símbolo
Coma ,
Colon :
Punto y coma ;
Período .
Tubo |
Bartosa \
Barra oblicua /
Paréntesis ()
Aparatos ortopédicos
Corchetes []
Espacio

Separador de campo AWK Regex

El separador de campo AWK (FS) se usa para especificar y controlar cómo AWK divide un registro en varios campos. Además, puede aceptar un solo carácter de una expresión regular. Una vez que especifica una expresión regular como el valor para el FS, AWK escanea los valores de entrada para la secuencia de caracteres establecidos en la expresión regular.

Vamos a implementar la funcionalidad de AWK para aceptar valores de expresión regulares en el separador de campo para conectar múltiples delimitadores.

Use múltiples delimitadores

Para ilustrar cómo separarse usando múltiples delimiters en AWK, usaré un ejemplo simple para mostrarle cómo usar esta funcionalidad.

Supongamos que tiene un archivo con datos de la siguiente manera:

/org/gnone/escritorio/interfaz: establecido: abril 7 16.59.09 | org.gnomo.Terminal.escritorio [1099]

En el archivo anterior, deseamos obtener la salida similar a la que se muestra a continuación:

org/gnome/escritorio/interfaz establecida 17 de abril 16:59.09 orgg.gnomo.Terminal.escritorio [1099]

Para separar el archivo utilizando los diversos delimitadores, en este caso, un colon, un espacio y una tubería podemos usar un comando como se muestra a continuación:

AWK -F '[: |]' 'imprima $ 1, $ 2, $ 3, $ 4, $ 5, $ 6' Usuario.registro

El comando anterior genera la información como se muestra a continuación:

Como puede ver, puede combinar más de un delimitador en el separador de campo AWK para obtener información específica.

Conclusión

En esta guía rápida, discutimos el uso de AWK para separar múltiples delimitadores en un archivo de entrada.

Para obtener más información sobre cómo expandir la funcionalidad de AWK FS, considere los siguientes recursos:

https: // www.ñu.org/software/gawk/manual/html_node/regexp-campo-splitting.html

https: // www.ñu.org/software/gawk/manual/html_node/field-separators.html