#! / Bin / fiesta de
contenido # progresiva archivo coincidente, la salida
# $ 1 nombre de los mensajes del archivo de EPC inspección de contenido de alarma en la consola de $ 2 a exportar la lista de archivos .scv $ 3 después de la filtración archivo que desea guardar
SI [$ # -ne 3 ]; el entonces echo " USO UTF-8: $ 0 <mensajes del archivo de contenido de la alarma de inspección EPC> <archivo de lista de EPC exportados> <filtros de nombre de archivo que se guarden> " Salir fi de SN en $ ( awk ' {. Imprimir $ 5} ' $ . 1 ) Do # -F variables de shell delimitador definidos ' ' nombre de la variable ' " awk -F ' |' ' ' /' ' $ SN ' ". / {print $ 1 , $ 4, $ 6} ' $ 2 >>$ 3 hecho search_count = `awk ' {print $ 5} ' $ 1 | wc - l` find_count = ` cat $ 3 | wc - l` si [$ search_count -eq $ find_count]; entonces eco -e " \ 033 [32; búsquedas 1mAll encontraron, Suma: $ {} search_count considera por favor $ un 3 \ 033 [0m " otra cosa eco -e " \ 033 [31; 1mSearch Count $ {} search_count; Encontrado $ {} find_count Por favor Ver $ un 3 \ 033 [0m " fi
Varios métodos citados la variable awk shell ============================
一: " '$ var'"
Hemos utilizado un enfoque de este tipo sin cambiar 'cerrado dieta programa awk , los extranjeros se escriben comúnmente como. :
var = " prueba " awk ' BEGIN {print " ' $ var ' "} '
La redacción de hecho, las comillas simples comillas simples en dos secciones, el medio variable de shell de acuerdo con una directa referencia a una variable de shell, pero si var contiene espacios , con el fin shell gobernado como para no romper el espacio , lo que debería utilizado como sigue :
= Var " Thisis Una prueba " awk ' el begin {Imprimir " '" $ var " ' "} ' (es decir, en ambos lados de las variables de shell se puede combinar con un par de comillas dobles)
Dos : las variables de exportación utilizando ENVIRON forma [ "var"] , (el ENVIRON se construyeron en el entorno de las variables awk array )
Tales como :
var = " thisis una prueba " ; var exportación $ awk ' BEGIN {imprimir ENVIRON [ "var"]} '
Tres : Por supuesto, también puede utilizar la opción -v
Tales como :
var = " thisis una prueba " awk -v nvar = " $ var " ' BEGIN {print} nvar '
Tales sistemas ponen definiciones de variables se convirtieron en awk variables .
Si este formato es entonces awk awk 'script' shell nombre de archivo puede ser variable dicha referencia
awk ' guión ' awkvar = " shellvar " nombre de fichero awk ' END {print} awkvar ' awkvar = " $ shellvar " nombre de archivo