
Tengo algunas pruebas por lotes que volcan archivos de datos del siguiente formato en una carpeta. Cada prueba descarga 1 archivo y el nombre del archivo es un número de serie genérico. Me gustaría generar una lista de todos los nombres de archivos de registro fallidos con Testname.
Puedo usar xargs pero no puedo imprimir el nombre de prueba. El siguiente script descarga todos los archivos de registro y es viable, aunque me gustaría una mejor solución.
grep 'Fallo\|Nombre de prueba' *.log
Archivo de muestra test_0123.log
[other log of 20MB]
* Result : Pass/Fail
* Testname : test_example_rsa_key_gen
[other log and trailer]
Respuesta1
perl -0777ne 'if ( /Result : Fail/ and /Testname : (\S+)/ ) { print "filename: $ARGV; testname: $1" }' *.log