2016-07-04 7 views
0

Ich möchte eine Textdatei grep, um nur Zeilen zurückzugeben, die eine Zeichenfolge enthalten, die zwischen Trennzeichen gefunden wird. Ist es möglich zwischen Delimitern zu springen?Grepe zwischen Trennzeichen?

Text sieht wie folgt aus:

Hello;Goodbye;100;200; 
Hello;Goodbye;200;100; 
Hello;Goodbye;300;400; 
Hello;Goodbye;400;300; 

Ich mag zwischen dem letzten Begrenzer grep - ich zum Beispiel für ‚200‘, sondern nur in der letzten Spalte grep will, so ist es nur zurückgibt:

Hallo, Auf Wiedersehen, 100; 200;

Ist das möglich? Danke für jede Hilfe! S.

Antwort

1

Wenn Sie nicht an grep gebunden sind, können Sie z. AWK, mit dem Sie ausgefeiltere Filterung haben können. Für Ihre Frage dieser Filter aus den Zeilen möchten Sie

awk -F';' '$4=="200" {print}' filename 
  • -F ';' Die Spaltennummer definiert definiert den Begrenzer
  • 4 $
  • {print} druckt die ganze Linie