Permitir Linux awk un tiempo, do-while y para los estados utilizan rotura, continúan declaración para controlar la dirección del flujo, sino que también permite el uso de la salida de modo La declaración para renunciar. Break rompe el bucle que se está ejecutando actualmente y salta fuera del loop para ejecutar la siguiente instrucción. Si es el proceso de selección de uso. En awk, declaraciones de control de flujo, estructuras gramaticales y tipos de lenguaje c. El siguiente es el uso de cada declaración.
. una sentencia condicional (si)
si (expresión) #if (variable en Array) Declaración comunicado 1else 2
formato "Declaración 1" puede ser varias declaraciones. Si se siente cómodo leyendo Unix awk para su conveniencia, es mejor que incluya varias declaraciones con {}. Unix estructura ramificada AWK permite la anidación en el formato:
si (expresión)
{1} comunicado
else if (expresión) sentencia {2} else {comunicado 3}
[chengmo @ localhost nginx] # awk 'BEGIN {test = 100; si (prueba de > 90) {print " muy bueno ";} else if (prueba de > 60) {print " "; buena} else {print " " no pase;;}} '
muy buena
declaración puede ser usada detrás de cada comando y "; y " Fin del número.
Dos. Declaración de bucle (while, for, do)
1.while statement
Formato:
while (Expresión fórmula)
{sentencia}
ejemplos:
[chengmo @ localhost nginx] # awk 'BEGIN {test = 100; Total = 0; while (i < = prueba ) {total + = i; i ++;} total de impresión;} '
5050
2. para el ciclo
de bucle tiene dos formatos:
formato 1:
for (variable en una matriz)
{declaración}
ejemplos:
[chengmo @ localhost nginx] # awk 'BEGIN {for (k en ENVIRON) { impresión k " = " ENVIRON [k];}} '
AWKPATH = :. /usr /share /awkOLDPWD = /home /web97SSH_ASKPASS = /usr /libexec /openssh /gnome-ssh-askpassSELINUX_LEVEL_REQUESTED = SELINUX_ROLE_REQUESTED = LANG = zh_CN.GB2312
. . . . . .
Nota: ENVIRON es una constante awk y es una matriz sub-típica.
Formato 2:
para (variable; condición; expresión)
{declaración}
ejemplo:
[chengmo @ localhost nginx] # awk 'BEGIN {Total = 0; for (i = 0; i < = 100; i ++) {total + = i;} total de la impresión;}'
5050
3 .do ciclo
formato:
do
{sentencia} while (condición)
ejemplos:
[chengmo @ localhost nginx ] # awk 'BEGIN {Total = 0; i = 0; do {total + = i; i ++;} while (i < = 100) total de la impresión;}' 5050
El anterior es La instrucción de control de flujo de awk, como se puede ver en la gramática, es la misma que el lenguaje c. Con estas declaraciones, muchos programas shell pueden ser entregados a awk, y el rendimiento es muy rápido.
break Cuando se usa una instrucción break en un momento o en una instrucción for, el ciclo del programa se cierra. Continuar Hace que el ciclo del programa se mueva a la siguiente iteración cuando la instrucción Continuar se usa por un tiempo o una instrucción for. Siguiente puede hacer que la siguiente línea de entrada se lea y se devuelva a la parte superior de la secuencia de comandos. Esto evita realizar otras operaciones en la línea de entrada actual. La declaración de salida hace que la entrada principal se desconecte y transfiera el control a END si END está presente. Si la regla END no está definida, o la instrucción de salida se aplica en END, se termina la ejecución del script.
En tercer lugar, la comparación de rendimiento
[chengmo @ localhost nginx] # tiempo (awk 'BEGIN {Total = 0; for (i = 0; i < = 10 000; i ++) {total + = i;} totales de impresión;} ') 50005000
0m0.000s verdadera 0m0.003suser 0m0.003ssys [chengmo @ localhost nginx] # tiempo (total = 0; para i en $ (SEC 10000); hago Total = $ (($ + total i)); hecho, echo $ totales;) 50005000
verdadera 0m0.141suser 0m0.125ssys 0m0.008s
realizar la misma función, ¡Puedes ver que el rendimiento de awk es 50 veces mayor que el de la shell!
Uno de los beneficios de esto es que se puede entender, así como los principios detrás del hardware
Para Linux principiante (también lo soy), no quiero meterme con Linux en la máquina virtual, y no qu
Con Windows durante mucho tiempo, inevitablemente comenzará a perder frescura, por lo que algunas pe
En este artículo se presenta la base de datos DB2 durante el proceso de instalación bajo inux expli
Solución de error en el cuadro de diálogo chino de Linux
LINUX System Disk Space Full Clear Método
La configuración de nginx rechaza o permite que el IP
Uso de semáforos para controlar la sincronización de subprocesos de Linux
Acerca de la puerta de enlace predeterminada de Linux
CentOS minimiza la instalación y luego instala el soporte de escritorio y chino
Arista Networks es un poco diferente
Ver comandos de puerto en Linux
Resumen de comandos de Linux común
Descripción general de la estructura del código fuente del kernel de Linux
Máquina virtual conectada con masilla Apareció Centos: Error de red: Conexión rechazada
Una forma sencilla de implementar el host virtual FTP bajo el sistema Linux
Fondo de pantalla del sistema Windows7 no se puede centrar cómo hacerlo
¿Cuál es el proceso de Computer Browser, cuál es el uso de Computer Browser? ¿Qué significa
Comprender qué archivos especiales están en el sistema Windows XP
Los datos no tienen precio para compartir, por lo que el disco duro no tiene un formato malicioso
Gama completa de unidades flash compatibles Apacer con certificación Win7
Cómo cambiar la ubicación de almacenamiento predeterminada de SkyDrive