Conocer los elementos esenciales del comando "AWK" es muy importante cuando se trata de procesar datos de manera eficiente, y esta publicación cubre las características clave del comando "AWK". Verifiquemos primero la sintaxis:
$ awk [opciones] [archivo]
Algunas de las opciones de uso común se dan en la tabla a continuación:
Opción | Descripción |
-F | Para especificar un separador de archivos |
-F | Especifique el archivo que contiene el script "AWK" |
-V | Para asignar variable |
Echemos un vistazo a algunos ejemplos sobre el uso del comando "AWK", y para la demostración, he hecho un archivo de texto con el nombre de archivo de prueba.TXT:
Cómo imprimir una columna de un archivo con el comando AWK?
El comando "AWK" se puede usar para obtener una columna específica del archivo de texto. Para imprimir el contenido del uso del archivo:
$ Cat TestFile.TXT
Ahora, para imprimir la segunda columna del archivo, use:
$ awk 'imprimir $ 2' Testfile.TXT
Para imprimir más de un campos, use el comando:
$ awk 'imprimir $ 1, $ 2, $ 3' Testfile.TXT
Si no usa la coma "", entonces la salida estará sin espacios:
$ awk 'imprimir $ 1 $ 2 $ 3' Testfile.TXT
Cómo usar la expresión regular con el comando AWK:
Para que coincidan con las cadenas o cualquier expresión, usamos cortes "//", por ejemplo, si desea imprimir los nombres de las personas que estudian "historia", luego use:
$ AWK '/ HISTORIA/ Imprimir $ 2' TestFile.TXT
La salida muestra claramente que solo "Sam" y "Tommy" están estudiando el curso de "historia".
Cómo usar la expresión relacional con el comando "AWK":
Para que coincida con el contenido de un campo específico, se puede usar la expresión relacional. Para que coincida con cualquier cadena o expresión en un campo, indique el campo y use el operador de comparación "~" con el patrón presentado en el siguiente comando:
$ awk '$ 3 ~/ is/ imprimir $ 2' Testfile.TXT
La salida anterior que muestra cada campo en la columna 2 en cada campo que contiene "IS" en la columna 3.
Y para obtener la salida opuesta del comando anterior, use el "! ~ ”Operador:
$ AWK '$ 3! ~/ is/ imprimir $ 2 'Testfile.TXT
A modo de comparación, también podemos usar operadores como mayores que ">" y menos que "<” and equal “=” as well:
$ awk '$ 4> 70 imprimir $ 2' Testfile.TXT
La salida ha imprimido los nombres de las personas que obtuvieron marcas de más de 70.
Cómo usar el patrón de rango con el comando AWK:
También se puede usar un rango para la búsqueda; Simplemente use la coma "" para separar el rango presentado en el comando a continuación:
$ awk '/Joel/,/Marlene/imprimir $ 3' Testfile.TXT
La salida muestra los sujetos del rango de "Joel" a "Marlene" de la columna 2. Podemos usar el signo doble igual "==" para definir un rango; Vea el ejemplo a continuación:
$ awk '$ 4 == 80, $ 4 == 90 imprimir $ 0' Testfile.TXT
La salida muestra los nombres de las personas de la columna 2 para el rango de marcas "70 a 80" de la columna 4.
Cómo combinar el patrón usando el operador lógico:
El uso de operadores lógicos como o "||," y "&&" le permiten combinar patrones para la búsqueda. Use el siguiente comando
$ awk '$ 4> 80 && $ 6> 0.4 imprimir $ 2 'Testfile.TXT
El comando anterior imprime los nombres de las personas en el cuarto campo más significativo que 80 y el sexto campo mayor que 0.4. Y solo dos registros están cumpliendo la condición.
El comando AWK Expresiones especiales:
Hay dos expresiones especiales, "COMENZAR" y "FIN":
Comenzar: realizar una acción antes de procesarse los datos
Fin: para realizar una acción después de procesarse los datos
$ awk 'begin imprimir "El procesamiento ha comenzado"; imprimir $ 2; Final imprimir "procesamiento ha terminado" 'Testfile.TXT
La útil variable incorporada del comando AWK:
El comando AWK tiene varias variables que ayudan en el procesamiento de datos:
Variable | Descripción |
NF | Da el número de campos en los datos |
Nr | Da el número del registro actual |
NOMBRE DEL ARCHIVO | Muestra el nombre del archivo que se está procesando actualmente |
FS y OFS | Separador de campo y separador de campo de salida |
Rs y Ors | Separa el registro de registro y el separador de registro de salida |
Por ejemplo:
$ AWK 'End imprima "el nombre del archivo es" nombre de archivo "tiene" NF "campos y" nr "registros"' testFile.TXT
Usamos "Fin", pero si usa "Begin", la salida daría 0 campos y 0 registros.
Cómo cambiar el separador de registros:
El separador predeterminado en el registro suele ser espacio; Si hay una coma "," o punto "."Como separador de campo, use la opción" FS "junto con el separador.
Tengamos otro archivo donde los campos de datos estén separados por un colons de coma ":":
$ Cat TestFile2.TXT
$ awk 'begin fs = “:” imprimir $ 2' testFile2.TXT
Dado que el separador del archivo es un colon, pero el comando "AWK" incluso beneficioso para los archivos como este, simplemente use la opción "FS".
El "-f" también se puede usar:
$ awk -f “:” 'imprimir $ 2' testFile2.TXT
El separador de registro predeterminado es "Newline" y para establecer el separador de registros en ":", Usar:
$ awk 'begin rs = “:” imprimir $ 1' testFile2.TXT
Acciones AWK:
Las acciones de AWK son pequeños programas que están rodeados de brackets "" y tienen más de una declaración separada por los semicolones ";".
La declaración más utilizada con el comando "AWK" es la declaración "Imprimir". Por ejemplo, para imprimir un texto con cada registro, use una cadena de texto en cotizaciones:
$ awk '"el es un campo", $ 2' Testfile.TXT
Realicemos una operación de suma simple usando AWK:
$ awk 'sum += $ 4 end printf "%d \ n", sum' TestFile.TXT
Creación de un programa AWK:
Comencemos con la programación "AWK", la programación que se proporciona a continuación es simplemente hacer multiplicación:
COMENZAR
i = 2
mientras (J<4)
Imprima "La multiplicación de 2 con" j "is" i*j;
j++
Guarde el programa con el nombre de "mi código.asombrarY para ejecutarlo, abra terminal y escriba:
$ awk -f mycode.asombrar
Conclusión:
El comando "AWK" es un comando útil para procesar, escanear datos de archivos de texto, como separar cualquier campo particular de un archivo; Usamos el comando "AWK". Hace que sea más fácil buscar cualquier cosa en cualquier forma o patrón de los archivos de texto. En esta guía, entendemos los conceptos básicos del comando "AWK" y su uso. El comando "AWK" valida los datos, genera informes e incluso archivos PARSES. El uso de comandos simples "AWK" también permite a los usuarios escribir pequeños programas para procesar datos de manera más eficiente.