
У меня есть несколько пакетных тестов, которые выгружают файлы данных следующего формата в папку. Каждый тест выгружает 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