Como procuro um par chave: dados em uma pasta?

Como procuro um par chave: dados em uma pasta?

Tenho alguns testes em lote que despejam arquivos de dados do seguinte formato em uma pasta. Cada teste despeja 1 arquivo e o nome do arquivo é um número de série genérico. Gostaria de gerar uma lista de todos os nomes de arquivos de log com falha com o Testname.

Posso usar xargs, mas não consigo imprimir o Testname. O script a seguir despeja todos os arquivos de log e é viável, embora eu queira uma solução melhor.

grep 'Falha\|Nome do teste' *.log

Arquivo de amostra test_0123.log

[other log of 20MB]
* Result : Pass/Fail
* Testname : test_example_rsa_key_gen
[other log  and trailer]

Responder1

perl -0777ne 'if ( /Result : Fail/ and /Testname : (\S+)/ ) { print "filename: $ARGV; testname: $1" }'  *.log

informação relacionada