Cómo empezar a utilizar awk

awk, sed y grep son tres de mis herramientas favoritas en la línea de comandos de Linux o UNIX. Todos ellos son bastante poderosos. Hoy vamos a ver cómo el agrietamiento con awk para ayudar a facilitar en usarlo. A continuación vamos a ver algunos útiles awk trazadores de líneas uno para hacer las cosas un poco más divertido para ti.

AWK es un lenguaje de programación diseñado para el procesamiento de datos basados ​​en texto, ya sea en archivos o flujos de datos. Fue creado en los Laboratorios Bell en la década de 1970. Aunque es bastante viejo, no se deje engañar por su edad. Es extremadamente potente y eficiente en lo que hace. Vamos a conseguir nuestras manos sucias ahora.

Antes de profundizar en el complejo de trabajo y el uso de awk vamos a empezar en él es lo básico. Vamos a crear y utilizar un archivo de prueba para este ejercicio. Se puede utilizar casi cualquier archivo de texto, como un registro de su sistema. Me va a utilizar un ejemplo de salida de una de mis herramientas favoritas de monitorización del sistema - Dstat. Aquí está la salida:

captura de pantalla de la salida de dstat

Esta es una salida ideal para awk de manejar. awk es grande con una coma o contenido pestaña separada. Verá por qué pronto. Así que, o crear unos datos similares o copiar y pegar mi ejemplo de lo anterior en un archivo ficticio llamado algo así como test.txt. Abrir una ventana de terminal en su ordenador con Linux. Casi todos los sabores de Linux incluyen awk. En caso de que haya encontrado una que no lo tenga, por alguna razón favor instalarlo. En la ventana de terminal, escriba lo siguiente desde el directorio en el que ha almacenado el archivo test.txt -

# Awk { ‘imprimir `} test.txt

La salida debe contener todo el contenido del archivo de texto. ¿Cuál es la diversión en eso.

Ahora vamos a ver cómo se puede recoger una columna e imprimir sólo esa. Ejecute el siguiente comando:

# Awk { ‘print $ 1 `} test.txt

Ahora estamos pidiendo awk para imprimir sólo la primera columna del archivo de texto. Se mostrará automáticamente que el archivo es una pestaña separada uno e imprimir sólo la primera columna de los contenidos. Debería ver algo como esto en la salida:

--total-cpu-usage--
usr
5
13
8
0
1
1
1
0
1
1

Vídeo: Tutorial programacion en awk 1. Introducción

Puede hacer lo mismo para cualquier columna que desee. Si quieres awk para imprimir la tercera orden de cambio de la columna por encima de comando que se muestra a:

# Awk { ‘print $ 3 `} test.txt

Usted también puede tener la impresión awk varias columnas. Así que si quieres la primera, tercera y séptima columnas impresas añadirlos a la orden separados por comas.

# Awk { ‘print $ 1, $ 3, $ 7 `} test.txt

Vídeo: 6. ¿Cómo empezar a usar bitcoin? (BTCenEspañol)

haría el truco para usted:

--total-cpu-usage-- -net / total-
usr IDL leer
5 93 154k
13 87 0
8 92 0
0 99 0
1 97 0
1 98 0
1 99 0
0 99 0
1 99 0
1 100 0

Si usted tiene un archivo más complicado que el archivo / etc / contraseña donde los datos son separados por dos puntos en lugar de que los espacios o tabuladores, awk no recoge eso automáticamente. En tales casos se puede alimentar a awk con el separador correcto. Utilice un comando como este para imprimir la segunda columna del archivo:

# Awk -F `:` { ‘print $ 1 `} / etc / passwd

Este comando le dará una salida de los nombres de usuario de todos los usuarios de su sistema:

manzana
mango
plátano
sandía
kiwi
naranja

Puede hacer lo mismo con cualquier otro tipo de separadores. También puede usar awk para analizar los archivos de registro. Por ejemplo, si desea ver todas las direcciones IP y las direcciones URL web relacionados que han sido accesos de en su servidor web puede usar awk para analizar el registro de acceso del servidor web para obtener esta información. Utilice el siguiente comando:

# Awk ‘$ 9 200 == {print $ 1, $ 7}` access.log

Vídeo: Lightroom - (001) Introducción

199.63.142.250 / 2008/10 / mi-5-favorito-lugares de reunión /
220.180.94.221 / 2009/02 / querious-a-MySQL-client-para-el-mac /
67.190.114.46 / 2009/05 /
173.234.43.110 / 2009/01 / bicicleta de alquiler /
173.234.38.110 /wp-comments-post.php

Utilizando el análisis como esto se puede averiguar si alguien está visitando su sitio web mucho, ya que pueden estar robando información. También puede ordenar esta información. Digamos que usted quería saber cuántas veces una determinada dirección IP visitado su sitio web

# Awk ‘$ 9 200 == {print $ 1}` access.log | especie | -c uniq | Ordenar -nr

46 122.248.161.1
35 122.248.161.2
26 65.202.21.10
24 67.195.111.46
19 144.36.231.111
18 59.183.121.71

Artículos Relacionados