Einzelnen Beitrag anzeigen

Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#7

AW: grep: nur eigentliche Matches ausgeben (nicht die ganze Zeile)

  Alt 30. Aug 2012, 13:05
als Schnellschuss, nicht optimiert

Project3 C:\temp\test.txt MyFunction(%)
Danke, Bummi!

Ich bin mittlerweile auf eine quellcodefreie Lösung gekommen:
  1. Erst grep -i+ -h+ -d+ "Lpar\^\[.*\]" *.pas > 1.txt ausführen. Dadurch habe ich eine Datei, die alle Treffer beinhaltet und muss mich nicht mehr um Wildcards in Dateinamen und Rekursion kümmern.
  2. Dann z.B. in Notepad++ alle (lpar\^\[[^]]*\]) in 1.txt durch \r\n\1\r\n ersetzen. Das zerlegt mir jede Zeile, die einen Treffer enthält, in 3 (oder 5, 7, ...) Zeilen, wo in jeder zweiten Zeile nur ein Treffer steht. Die anderen Zeilen enthalten keinen Treffer.
  3. Schließlich noch 1.txt speichern und grep -i+ -h+ "Lpar\^\[.*\]" 1.txt > 2.txt , um die überflüssigen Zeilen rauszuschmeißen.
Jetzt enthält 2.txt die gewünschte Liste. Nicht elegant, aber geht.
Uli Gerhardt
  Mit Zitat antworten Zitat