Colección de citas famosas - Slogan de motivación - Cómo imprimir la línea anterior de la línea coincidente actual en awk

Cómo imprimir la línea anterior de la línea coincidente actual en awk

Debido a que awk procesa cada línea por línea y procesa una línea antes de procesar la siguiente, para generar el contenido de la línea anterior, el contenido de esta línea debe guardarse primero.

Ejemplo:

awk "{ d【NR】= $ 0 }

/regular/{ print d【NR-1】}' archivo

p>

La primera oración guarda el contenido de la línea en una "matriz". La matriz en awk se parece más a un diccionario.

La segunda oración imprime la línea anterior. se puede comparar el contenido de la matriz guardada. El índice de la matriz es el número de fila actual menos 1, que es el número de fila de la fila anterior.