Wie suche ich in einem Ordner nach einem Schlüssel:Daten-Paar?

Wie suche ich in einem Ordner nach einem Schlüssel:Daten-Paar?

Ich habe einige Batchtests, die Datendateien im folgenden Format in einen Ordner kopieren. Jeder Test kopiert 1 Datei und der Dateiname ist eine generische Seriennummer. Ich möchte eine Liste aller fehlgeschlagenen Protokolldateinamen mit dem Testnamen erstellen.

Ich kann xargs verwenden, aber den Testnamen nicht ausdrucken. Das folgende Skript erstellt einen Dump aller Protokolldateien und funktioniert, obwohl ich mir eine bessere Lösung wünschen würde.

grep 'Fehlschlag\|Testname' *.log

Beispieldatei test_0123.log

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

Antwort1

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

verwandte Informationen