2016-08-18 1 views
-1

Ich habe einige Zeilen in einer MPD-Datei wie unten erwähnt. Ich möchte nur die Wörter grep, die mit .ts enden und sie in einer anderen Datei speichern. Kann mir jemand dabei helfen?grep Match-Muster und speichern in andere Datei

<SegmentURL media="1.ts" mediaRange="0-3424419"/> 
<SegmentURL media="2.ts" mediaRange="0-8063319"/> 
<SegmentURL media="3.ts" mediaRange="0-7146631"/> 
<SegmentURL media="4.ts" mediaRange="0-8984143"/> 

Antwort

0
$ grep -o '\<\w*\.ts\>' infile 
1.ts 
2.ts 
3.ts 
4.ts 
  • \< und \> sind Anfang/Ende der Wortmarkierungen
  • \w ist ein Synonym für [_[:alnum:]] (nur [[:alnum:]] in BSD grep)
  • -o behält nur die Spiele

Um die Ausgabe zu af zu speichern ie output, Umleitung mit > output an den Befehl angehängt.

+0

Danke Benjamin funktioniert jetzt – Raj

0

Für das Beispiel benötigen Sie nicht die PCRE, BRE ist ausreichend für Ihre Bedürfnisse.

Aber bedenken Sie, dass grep zeilenbasiert ist. Wenn Ihre Eingabedatei html/xml ist, insbesondere wenn sie von einer Anwendung erzeugt wurde, könnten die Zeilen unterbrochen sein. Daher kann Grep fehlschlagen.

Verwenden Sie einen XML/HTML-Parser, wenn das der Fall war.

Verwandte Themen