我有一些批量测试,将以下格式的数据文件转储到文件夹中。每个测试转储 1 个文件,文件名是通用序列号。我想生成带有测试名称的所有失败日志文件名的列表。
我可以使用 xargs 但无法打印出测试名称。以下脚本转储每个日志文件,尽管我想要一个更好的解决方案,但它是可行的。
grep '失败\|测试名称' *.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