Ejemplos de aplicación para secuencias de comandos gawk

Una forma de trabajar con archivos en Linux es utilizar un lenguaje de secuencias de comandos para gestionar la automatización de tareas repetitivas. Un ejemplo de un buen lenguaje de programación es Vaya lo que facilita la extracción de datos y el trabajo con patrones. La implementación GNU del lenguaje de secuencias de comandos es awk mirar boquiabierto Si aún no te has acostumbrado a su uso, estás de suerte. Esta publicación presenta varios ejemplos del uso de gawk en Linux, y al final de esta guía tendrá una sólida comprensión de cómo trabajar con él.

Contenidos

Primeros pasos con Gawk

Si está utilizando las últimas versiones de Linux, gawk debe instalarse de forma predeterminada. Puede verificar esto comprobando la versión.

Hay varias formas de usar gawk. Las funcionalidades comunes son las siguientes:

  • Formato de líneas de salida
  • Transformar archivos de datos
  • Escanear archivos por línea
  • Divida la línea de entrada en campos
  • Creación de informes formateados.
  • ordenar datos

La sintaxis básica para gawk es: $gawk [POSIX / GNU style options] -f archivo de programa [ — ] Archivo $gawk [POSIX / GNU style options] [ — ] archivo ‘programa’… Para usar gawk, use el -F Opción para especificar un archivo de script o para especificar el script directamente en la línea de comando. Hay tres opciones importantes a considerar al usar gawk:
1. -f archivo, –archivo=archivo: Se usa cuando usa gawk y desea leer comandos de un archivo. El archivo es el script.
2. -v var=valor, -assign=var=valor: Se usa cuando necesita asignar un valor a una variable antes de ejecutar un script.
3. -F fs, –separador de campo=fs: El valor de la variable predefinida FS se utiliza como separador para el campo de entrada.

Variables integradas

Gawk proporciona variables integradas como:
FS: Se utiliza al dividir archivos y contiene el separador de campo.
RS: Contiene el separador de caracteres actual.
OFS: Contiene el separador de campos de salida que separa los campos que imprime AWK.
NF: El número de campos para el registro de entrada se almacena en el NF.
O: Contiene el separador de campo de salida que separa las líneas de salida impresas por AWK.
NO: Contiene el número total de filas de entrada.

En el ejemplo anterior, usamos * como separador de las líneas de entrada en el archivo.

Ejemplo de uso de Gawk

1.-F

Para ordenar un archivo de texto e imprimir los primeros tres campos separados por dos puntos, use el siguiente comando. Note que usamos el clave como nuestro archivo aquí: $ gawk -F: ‘{print $1; imprimir $2; imprime $3}’ /etc/contraseña

Aquí nuestro delimitador son dos puntos completos. Dado que necesitamos los primeros tres campos, proporciónelos como en el ejemplo anterior. Puede personalizarlo y usar un separador y número de campos diferente.

2.-f

Para especificar la fuente del programa awk desde un archivo, use el indicador -f seguido del archivo: $ gawk -F: -f archivo1.txt /etc/passwd

3. Imprimir el contenido de un archivo

Si usa gawk en un archivo, se imprimirán todas las líneas de datos del archivo.

4. Trabajar con patrones

También puede usar gawk e imprimir solo las líneas que coincidan con un patrón específico. Por ejemplo, para imprimir una línea que contiene una palabra específica, en nuestro caso es la palabra Kimel comando sería: $ gawk ‘/kim/ {print}’ filename

El patrón también puede ser un personaje. Por ejemplo, para imprimir todas las líneas que contienen dos puntos, el comando se vería como la siguiente imagen:

También puede especificar líneas específicas para imprimir. Por ejemplo, para generar las líneas que contienen ciertos caracteres, como B. mayor que 6, la sintaxis es: $ gawk ‘longitud ($0) > 6’ nombre de archivo

5. Dividir filas en campos

De forma predeterminada, Gawk imprime cada campo al imprimir líneas en un archivo. Sin embargo, puede especificar qué campo imprimir. El primer campo se almacena en $1 y toda la línea se representa como $0. De manera predeterminada, se imprime toda la línea, a menos que especifique que los campos se deben separar en espacios. Por ejemplo, para separar las líneas e imprimir solo el segundo campo de cada línea, el comando es: $ gawk ‘{print $2}’ file-name

Para agregar los números de línea, agregue el NO Variable. El nuevo comando sería: $ gawk ‘{print NR, $2}’ filename

6. Obtenga el número de filas

Es posible que necesite encontrar el número total de líneas para archivos grandes, y puede lograrlo con la siguiente sintaxis: $ gawk ‘END {print NR}’ file-name

Conclusión

Saber cómo usar gawk en Linux es divertido y útil, especialmente cuando se trata de datos de texto. Puede usar los diferentes patrones para extraer y manipular las filas de datos. Con suerte, los ejemplos cubiertos en este artículo le darán una ventaja y le abrirán los ojos cuando use gawk para diversas actividades.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.