Procesamiento de texto con awk, en última instancia, es la matriz de transformación. Así awk matriz tiene esas características, el funcionamiento general común y lo que sucederá. Nos fijamos en algunos de la siguiente descripción, con ejemplos vamos a explicar que difiere de la siguiente. En array awk se llama una matriz asociativa (arrays asociativos), como es el número de la etiqueta puede ser una cadena. La matriz awk no tiene que declarar de antemano, no declarar el tamaño. elemento de la matriz con 0 para inicializar o una cadena vacía, lo que depende del contexto. Por ejemplo:
a, definir métodos
1: se puede utilizar como el índice de matriz numérica (subíndice)
tarray [ ,null,null,0],1] = " Cheng MO " tarray [2] = " 800.927 y "2: puede utilizar la cadena como el índice de matriz (subíndice)
tarray [" primero y "] = " Cheng y " tarray [" último y "] = " MO " tarray [" nacimiento y "] = " 800.927 y "utilizar impresión tarray [1] el obtenido y " Cheng MO " tarray e imprimir [2] y imprimir [" el nacimiento y "] se obtienen y " 800.927 y ".
En segundo lugar, la matriz función de correlación
[chengmo @ localhost ~] $ awk --versionGNU Awk 3.1.5
Uso versión 3.1 o superior diferentes versiones de las siguientes funciones no son necesariamente los mismos
[chengmo @ localhost ~] $ awk 'BEGIN {info = " se es una prueba "; lente = split (info, ta, " "); longitud de impresión (tA), lente;} '4 4
longitud y devuelve la longitud de la cadena de la matriz, cadena Split Split matriz, la matriz se divide por la longitud de retorno.
(uso asort):
[chengmo @ localhost ~] $ awk 'BEGIN {info = " se trata de una prueba de "; división (información, Ta, " "); asort de impresión (tA);} '4
asort para ordenar la matriz, devuelve la longitud de la matriz.
array
[chengmo @ localhost ~] $ awk 'BEGIN {info = " , es una prueba de "; split (info, ta, " "); for (k en tA) {print k, ta [k];}} '4 test1 IT2 IS3 un
for … en la salida, porque la matriz es una matriz asociativa, el valor predeterminado es desordenada. Así por para y hellip; en conjunto se obtiene desordenado. Si usted necesita para obtener una matriz ordenada, tenemos que conseguir a través del índice.
[chengmo @ localhost ~] $ awk 'BEGIN {info = " se trata de una prueba de "; Tlen = split (información, TA, " "); for (k = 1; k < = tlen; k ++) {print k, ta [k];}} '1 IT2 prueba IS3 a4
Nota: los subíndices de matriz a partir de 1, y la matriz C no es el mismo.
un método juicio equivocado:
[chengmo @ localhost ~] $ awk 'BEGIN {tb [" "] = " A1 "; tB [" B "] = " b1 "; si (tB [" c "] = "!; 1 ") {print " no encontrado ";}; for (k en tB) {print k, tB [k];}} 'no FUNDACIÓN a1b b1c
I anterior extraño, tB [" C "] no está definido, pero el tiempo de ciclo, encontrado para tener la presencia de la clave, su valor está vacío, a tener en cuenta aquí, las matrices awk son matriz asociativa, siempre que una referencia a su clave a través de la matriz, se automático secuencia crear modificado
método de determinación correcta:
[chengmo @ localhost ~] $ awk 'BEGIN {tB [" a "] = " A1 "; tB [" b "] = " b1 "; si (" C " en tB) {print " ok ";}; for (k en tB) {print k, tB [k];}} ' un a1b b1
si (clave en array) de matriz se determina por este método contiene y " key " clave.
elimine la clave:
[chengmo @ localhost ~] $ awk 'BEGIN {tb [" "] = " A1 "; tB [" b "] = " b1 "; eliminar tB [" a "]; for (k en tB) {print k, tB [k];}} 'b b1
Suprimir array [clave] puede ser eliminado, la secuencia correspondiente de valores de clave array.
En tercer lugar, el uso de dos dimensional array (matrices multidimensionales utilizan)
matrices multidimensionales en AWK es esencialmente matriz unidimensional, para ser más precisos, en el almacenamiento y awk no es compatible con matrices multidimensionales. awk proporciona acceso simular matriz de dos dimensiones de la lógica. Por ejemplo, se permite array [2,4] = 1 tal acceso. awk utilizar un SUBSEP cadena especial (\\ 034) como el campo de división en el ejemplo anterior, el almacenamiento de claves array matriz asociativa es en realidad 2 \\ 0344.
similares matriz unidimensional de los miembros de prueba, matrices multidimensionales se puede utilizar si ((i, j) en array) esta sintaxis, pero el índice deben ser colocados entre paréntesis. Similar matriz unidimensional de acceso al bucle, matrices multidimensionales utilizando una para (item in array) tales atravesar la sintaxis array. Con diferente matriz unidimensional, la función de la matriz multidimensional debe dividirse () para acceder al componente de índice único. split (artículo, Suscrip, SUBSEP)
[chengmo @ localhost ~] $ awk 'BEGIN {
for (i = 1; i < = 9; i ++) {for (j = 1; j < = 9; j ++) {Tarr [i, j] = i * j; impresión i, " * ", j, " = ", Tarr [i, j]; }}} '1 * 1 = 11 * 2 = 21 * 3 = 31 * 4 = 41 * 5 = 51 * 6 = 6
… …
a través de array [k , k2] array RESUMEN obtenerse por referencia
Segundo método:
[chengmo @ localhost ~] $ awk 'BEGIN {for (i = 1; i < = 9.; i ++) {for (j = 1; j < = 9; j ++) {Tarr [i, j] = i * j;}} para (m en Tarr) {split (m, tarr2, SUBSEP); impresión tarr2 [ ,null,null,0],1], " * ", tarr2 [2], " = ", Tarr [m];}} '
esperanza arrays de procesamiento awk superiores asociado útil para todos.
Primero instale CentOS6 e instale el software rp-pppoe. La versión anterior de centos se instala med
El proxy inverso se puede dividir en dos tipos de la transmisión: 1: modo síncrono (apache-mod_pr
Linux Mint es una distribución basada en Ubuntu que tiene como objetivo proporcionar una experiencia
JFS fue desarrollado por IBM y apareció originalmente en el sistema operativo AIX, que proporciona u
Dale al escáner un hogar en el sistema Linux
Administra tu aplicación con Laravel + Grunt + Bower
Seguridad de Linux: Defensa paso a paso (1)
AMD dice que los sistemas que no son Android /Linux /Win no tienen sentido.
Análisis del principio del mecanismo de la cola de espera del kernel de Linux
Cómo formatear una unidad flash USB en Ubuntu (basado en comandos de formato)
Por qué la partición recién montada del sistema Linux ha usado más de 100 M de espacio
Terminal de Linux accesos directos de uso general
Cómo combinar dos imágenes en una sola imagen
Windows XP Red personal Firewall en línea Cinco pasos para obtener
Win7 cómo proteger la unidad flash USB para deshabilitar el dispositivo USB
proceso del sistema Windows 8 100% de disco ocupación System.exe cómo hacer
Después de la actualización de Win10, se puede eliminar la nueva carpeta RecoveryImage.
3000 o menos con la computadora
Baidu cloud housekeeper set carpeta de copia de seguridad automática gráfico tutorial