Как найти пару ключ:данные в папке?

Как найти пару ключ:данные в папке?

У меня есть несколько пакетных тестов, которые выгружают файлы данных следующего формата в папку. Каждый тест выгружает 1 файл, а имя файла — это общий серийный номер. Я хотел бы сгенерировать список всех неудачных имен файлов журнала с Testname.

Я могу использовать xargs, но не могу распечатать Testname. Следующий скрипт выводит каждый файл журнала, и он работоспособен, хотя мне хотелось бы лучшего решения.

grep 'Fail\|Testname' *.log

Образец файла test_0123.log

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

решение1

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

Связанный контент