폴더에서 키:데이터 쌍을 검색하는 방법은 무엇입니까?

폴더에서 키:데이터 쌍을 검색하는 방법은 무엇입니까?

다음 형식의 데이터 파일을 폴더에 덤프하는 일괄 테스트가 있습니다. 각 테스트는 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

관련 정보