Sintaxis básica:
El formato básico del comando awk es: awk [parámetro] ‘ programa awk ’ nombre de archivo
La estructura principal del programa awk es: patrón {acción}
En general, use " expresiones relacionales " como patrón, por ejemplo: $ 1 > 4, $ 2 == $ 3, " banana " ~ /an /(
Esta es una relación de juicio coincidente regular. Si A es una cadena, B es una expresión positiva, A ~ B (determina si la cadena A contiene una subcadena que coincide con la expresión B); A! ~ B (juicio) Si la cadena A no contiene subcadenas que coincidan con expresiones B))
la acción incluye principalmente algunas instrucciones, como las instrucciones de i /o de awk: print, printf, getline; instrucciones de control de flujo de awk: si (...) {...} else {...}, do {...} while ();
El programa awk busca secuencialmente cada patrón para cada línea de entrada. Realice la acción correspondiente en cada patrón coincidente, luego lea la siguiente línea y comience a coincidir nuevamente, sabiendo que se ha procesado toda la entrada.
Se puede omitir un patrón o acción en una declaración. El patrón predeterminado es coincidir con todas las líneas. La acción predeterminada es generar la línea actual. Awk lee una línea (un registro) a la vez desde la entrada, y el separador de línea predeterminado es \\ n. Luego, awk separa los registros en campos y los campos predeterminados se separan en espacios en blanco. El primer campo en una fila es $ 1, seguido de $ 2, $ 3 ..., y el registro completo es de $ 0.
Las variables incorporadas de Awk, puede usar estas variables para obtener información relevante, común:
NF (Número de campos): un entero cuyo valor representa el campo contenido en $ 0 Número
NR (Número de registros): un entero cuyo valor indica el número de líneas de datos que ha leído awk.
FILENAME: El nombre del archivo de datos que se está procesando.
Para obtener más información, consulte http://www.jiayii.com/awk-tutorial/
Ejemplo de operación básica: archivo de prueba test.txt, el contenido es el siguiente:
(Tenga en cuenta que los espacios en blanco pueden estar en blanco o en la pestaña)
1. Para obtener todas las transcripciones de John, use estos comandos:
awk '/John /' test.txt (la acción por defecto genera la línea completa)
awk '/John /{print $ 0}' Test.txt
awk '$ 2 == " John " {print $ 0}' test.txt (el valor predeterminado está separado por espacios en blanco, $ 2 representa el segundo campo de cada línea)
Awk '$ 2 ~ /John /{print $ 0}' test.txt ($ 2 y expresión regular /John /match)
2. Obtenga una transcripción con una puntuación superior a 120
awk '$ 3 > = 120' test.txt
3. Si el archivo de datos original está separado por ", ", entonces todas las declaraciones se pueden agregar a los parámetros de separación, como: awk -F ", /John /'test.txt (esta es la función de -F)
BEGIN and END
Dos formas especiales en awk que se pueden usar en patrón, proporcionando BEGIN y END para dar al programa un estado inicial y ejecutar después de que finalice el programa Algunos trabajos de acabado. Cualquier operación listada después de BEGIN se ejecutará antes de que awk comience a escanear la entrada, y las operaciones listadas después de FIN se ejecutarán después de escanear la entrada completa. Por lo tanto, BEGIN se usa generalmente para mostrar variables y valores iniciales predeterminados, y END se usa para mostrar los resultados finales.
O el ejemplo anterior:
1. Agregue todos los puntajes de John. Los comandos disponibles son los siguientes:
2. La puntuación inicial predeterminada es 60 y, a continuación, se acumulan los resultados en el archivo:
Arraque Awk usando la matriz La matriz de la aplicación real también es la más utilizada, aún utilizamos test.txt como el archivo de datos para calcular la puntuación total de cada miembro: Aplicación real Cuando uso awk, a menudo obtengo algunas estadísticas en línea y, a menudo, estos archivos de registro no son muy regulares cuando se usan, luego puede hacerlo primero, a través de grep O bien, otros comandos convierten el archivo en una salida regular y luego usan awk para el procesamiento.
en Linux linux rm eliminar archivos, la recuperación es más problemática, incluso si se restaura, e
Los sitios ligeramente más grandes tienen una carga equilibrada inevitablemente, pero el equilibri
La instalación de Linux es un poco aterradora para los principiantes: las partici
DevOps es la clave para más y más compañías y organizaciones grandes, por lo que es importante para
Dos "BBC" para recuperar sistemas Linux dañados
Solución de matriz de puntos de visualización de fuente china de Fedora 17
Sistema Linux para detectar si el disco U está conectado
Cuota de disco de configuración de CentOS
Solución de problemas confusos en el sistema Linux
Cómo operar en archivos bajo Linux
Administración de dispositivos de red para Linux Pila de protocolos de red (Continuación)
El archivo caducado hace que la máquina dual VCS no se inicie
Comprenda los conceptos básicos de Fdisk en Linux
Varias precauciones de seguridad para sistemas Linux
mkdir Linux, alquitrán y matar a los comandos cuatro consejos útiles
Windows7 calculadora de consumo de combustible
Los usuarios de Win10 encontraron problemas con el controlador de gráficos Intel cómo hacerlo
El controlador Win10 no puede usar la solución
Boot tiene un fondo de escritorio pero no puede ingresar a la solución del sistema
No descomprima el archivo Win8.1 install.wim
Método de modificación de la dirección MAC del sistema Windows8 gráfico tutorial
Cómo cambiar entre los métodos de entrada chinos e ingleses en Windows 8