Comando awk de los Tres Mosqueteros de Linux Parte 2: Operador de comando
Comando awk de los Tres Mosqueteros de Linux Parte 2: Operadores de comandos
Para obtener conocimientos básicos sobre los principios de awk y otros conocimientos básicos, consulte la parte anterior:
Comando awk de los Tres Mosqueteros de Linux Parte 1: Principios y comandos básicos
Suplementos
1. Formato de sintaxis:
(1) Sintaxis completa de Awk
awk 'BEGIN{ comandos} patrón{commands}END{commands} ' archivo
BEGIN{commands}: comando ejecutado antes de procesar los datos.
END{commands}: Comandos ejecutados después de procesar los datos.
Estos dos comandos se pueden omitir. Ver (2)
(2) Sintaxis básica de Awk
awk -F 'separador' '/mode/{action} ' archivo
aquí' /mode /{action} ' Formato de comando similar a sed.
Patrón:
(1) Expresión regular (tenga en cuenta el formato: /expresión regular/ )
(2) Expresión condicional (por ejemplo: > < etc. .)
Resumen:
En términos generales, el modo aquí se usa para encontrar a alguien y la acción indica qué hacer.
2. operador de comando awk
(1) La expresión regular es consistente con bash
(2) + - * / % ++ --
(3) && ||
(4) > < >= <= != == ~ !~
~: Indica que coincide con el siguiente patrón, utilizado para los campos, consulte el Caso 1.
El resto son relativamente comunes, por lo que no pondré ejemplos.
3. Caso
Caso 1:
~Caso de uso
awk -F : '$3 ~ /\<... \>/{print $1,$3}' /etc/passwd
Explicación:
Modo: \<...\>
\< \> Representa el delimitador y solo coincide con 3 caracteres.
$3 ~: Indica que el campo $3 debe cumplir con los requisitos del siguiente patrón (\<...\>).
Vea el siguiente resultado, $3 tiene 3 caracteres.
Caso 2:
% || ==Caso de uso
seq 100 | awk '$1 % 7 == 0 || {print $1}'
Requisitos del resultado de salida:
Divisible por 7 o comenzando con 99
Caso 3:
++ uso
awk 'BEGIN{num=0}{num++}END{print num}' /etc/passwd
Explicación simple:
BEGIN{num=0 }: Definir una variable num
{num++}: Aquí no hay modo, solo acciones.
Es decir, ejecute num++ cada vez que coincida una línea en el archivo /etc/passwd
END{print num}: el recorrido del archivo finaliza y se imprime el valor de num, que es el número de líneas del archivo.
No hay problema si usamos wc -l para verificar aquí.
cat /etc/passwd | wc -l
Los tres casos anteriores simplemente utilizan el operador de comando awk.
Aunque sólo se utilizan algunos sencillos, los demás son iguales y todos pueden realizar las operaciones.
Próximo artículo:
Comando awk de los Tres Mosqueteros de Linux, Parte 2: Variables internas
Todos son bienvenidos a dar comentarios o sugerencias valiosas.
Todos pueden agregar o compartir otros métodos.
Gracias por tu apoyo.