grka
Goto Top

Parsen mehrer Dateien und Ausgabe je einer Zeile

Hallo

ich habe eine sehr lange Liste mit vielen Dateien, die alle einen doxygen Kommentar in dieser Form am Dateianfang drin haben:

/** 
 *
 * @file
 *
 * \xmlonly 
 *   <Name>xxx</Name>
 *   <StoryId>11111</StoryId>
 *   <TcId>yyyyyyyy</TcId>
 *   <TcType>Hugo</TcType>
 * \endxmlonly 
 *
 */

Ich würde jetzt gerne automatisiert eine Liste haben mit dem Inhalt von <Name> wo <tctype> der Wert Hugo steht. Alle Einträge wo da nicht Hugo steht sollen ignoriert warden

Kann man das irgendwie auotmatisieren?

Content-Key: 310366

Url: https://administrator.de/contentid/310366

Printed on: April 25, 2024 at 15:04 o'clock

Member: colinardo
colinardo Jul 20, 2016 at 13:19:56 (UTC)
Goto Top
Hallo @grka.
Kein Problem. Hier via Powershell:
$folder = 'C:\data\'  
$filter = '*.txt'  
$export = 'C:\test\ergebnisliste.txt'  
gci $folder -Filter $filter -Recurse | ?{(gc $_.FullName | out-string) -match '<Name>([^<]*)</Name>.*?<tctype>Hugo</tctype>'} | %{$matches[1]} | out-file $export  
Grüße Uwe