Aprenda a usar las variables integradas de Awk-Parte 10

Aprenda a usar las variables integradas de Awk-Parte 10

A medida que descubramos la sección de funciones de Awk. en esta parte de la serie, analizaremos el concepto de variables integradas en Awk. Hay dos tipos de variables que puede usar en Awk, estos son; Variables definidas por el usuario. que cubrimos en la Parte 8 y variables integradas.

 Awk Ejemplos de variables integradas Ejemplos de variables integradas de Awk Ejemplos de variables integradas de Awk

Las variables integradas. tienen valores ya definidos en Awk. pero también podemos alterar cuidadosamente esos valores, las variables integradas incluyen:

  1. FILENAME: nombre del archivo de entrada actual (no cambie el nombre de la variable)
  2. FR: número de la línea de entrada actual (es decir, la línea de entrada 1, 2, 3 … así sucesivamente, no cambie nombre de variable)
  3. NF: número de campos en la línea de entrada actual (no cambie el nombre de la variable)
  4. OFS: separador de campo de salida
  5. FS: separador de campo de entrada
  6. ORS: separador de registros de salida
  7. RS: separador de registros de entrada

Procedamos a ilustrar el uso de algunas de las funciones integradas de Awk variables anteriores:

Para leer el nombre de archivo del archivo de entrada actual, puede usar la variable incorporada FILENAME de la siguiente manera:

$ awk ‘print FILENAME’ ~/domains.txt  Awk FILENAME Variable  Awk Variable FILENAME Awk Variable FILENAME

Y Se dará cuenta de que el nombre del archivo se imprime para cada línea de entrada, que es el comportamiento predeterminado de Awk. cuando usa la variable incorporada FILENAME.

freestar.config.enabled_slots.push ( locationName: “tecmint_incontent”, slotId: “tecmint_incontent”);

Usando NR para contar el número de líneas (registros) en un archivo de entrada, recuerde que también cuenta las líneas vacías, como veremos en el ejemplo a continuación.

Cuando vemos el archivo domains.txt. usando el comando cat, contiene 14. líneas con texto y 2. líneas:

$ cat ~/domains.txt  Imprimir contenido del archivo  Imprimir contenido del archivo Imprimir contenido del archivo $ awk ‘END print” El número de registros en el archivo es : “, NR ‘~/domains.txt Awk Count Número de líneas  Awk Count Número de líneas Awk Count Número de líneas

Para contar el número de campos en un registro o línea, usamos la variable incorporada NR de la siguiente manera:

$ cat ~/names.txt Lista Contenido del archivo  Mostrar contenido del archivo Mostrar contenido del archivo $ awk ‘print” Record: “, NR,” has “, NF,” campos “; ‘~/names.txt Awk Count Número de campos en el archivo  Awk Count Número de campos en el archivo Awk Count Número de campos en el archivo

A continuación, también puede especificar un separador de campo de entrada utilizando la variable incorporada FS, que define cómo Awk. divide las líneas de entrada en campos.

El valor predeterminado para FS es espacio. y tabulador. pero podemos cambiar el valor de FS a cualquier carácter que indique a Awk que divida las líneas de entrada en consecuencia.

Hay dos métodos para hacer esto:

  1. un método es usar th e FS. variable incorporada
  2. y la segunda es invocar la opción -F. Awk

Considere el archivo /etc/passwd. en un sistema Linux, los campos de este archivo se dividen usando el carácter:, por lo que podemos especificarlo como el nuevo separador de campo de entrada cuando queremos filtrar ciertos campos como en los siguientes ejemplos:

Podemos usar la opción-F de la siguiente manera:

$ awk-F ‘:’ ‘print $ 1, $ 4;’/etc/passwd  Campos de filtro Awk en el archivo de contraseña  Campos de filtro Awk en el archivo de contraseña Awk Fil Ter Campos en el archivo de contraseña

Opcionalmente, también podemos aprovechar la variable incorporada FS como se muestra a continuación:

$ awk ‘BEGIN FS = “:”; imprimir $ 1, $ 4; ‘/etc/passwd  Filtrar campos en el archivo usando Awk  Filtrar campos en el archivo usando Awk Filtrar campos en el archivo Usando Awk

Para especificar un separador de campo de salida, use la variable incorporada OFS, esta define cómo se separarán los campos de salida usando el carácter que usamos como en el siguiente ejemplo:

$ awk-F ‘: ” BEGIN OFS = “==>”; imprimir $ 1, $ 4; ‘/etc/passwd Agregar separador al campo en el archivo  Agregar separador a Campo en archivo Agregar separador al campo en el archivo

En esta Parte 10. hemos explorado la idea de usar las variables integradas de Awk que vienen con valores predefinidos. Pero también podemos cambiar estos valores, aunque no se recomienda hacerlo a menos que sepa lo que está haciendo, con una comprensión adecuada.

Después de esto, avanzaremos para cubrir cómo podemos usar las variables de shell en las operaciones de comando de Awk, por lo tanto, manténgase conectado a Tecmint.