次の形式のデータファイルをフォルダにダンプするバッチテストがあります。各テストは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