2016-03-29 6 views
-2

versuchen, einige spezifische Linien zwischen zwei Satz Linienfinden mehrere Linien zwischen zwei Zeilen (regular expression)

MSG 753.202 ZEIGT SENTENCE zu erfassen (zwischen dieser) 753202 195,1 554,2 1709,0 ... 753.203 194,8 554,4 1.706,0 ... 753.257 196,9 566,0 1638,0 ... 753.262 195,8 564,4 1631,0 ... 753.263 195,8 564,1 1631,0 ... EFIX R 753140 753263 124 195,5 555,5 1710 (THIS) 753285 91,4 560,1 1614,0 ... 753.286 89,0 559.7 1612.0 ... 753287 85.9 559.2 1610.0 ... EFIX R 753288 753494 207 67,7 569,0 1545 (THIS) 753.291 73,2 559,3 1609,0 ...

MSG 753.202 ZEIGT GONE (und dies)

und dann wieder die Zeilen dazwischen.

Hope this Sinn

+0

Es gibt mehrere Linien natürlich –

+0

Bitte formatieren Sie Ihre Frage richtig und Ihrem Versuch zu erwähnen und was genau zu tun, Sie versuchen. –

Antwort

0

das macht einen Versuch geben, für einen ersten Start. Ich meine, dann könnte man es, um Ihren Bedarf anpassen:

sed -n '/MSG 753202 SHOWING SENTENCE/,/MSG 753202 SHOWING GONE/ { p;}' file.txt 

die Ranges by patterns in Sed - An Introduction and Tutorial See.

Der Test ist unter:

sed -n '/MSG 753202 SHOWING SENTENCE/,/MSG 753202 SHOWING GONE/ { p;}' file.txt 
MSG 753202 SHOWING SENTENCE (BETWEEN THIS) 753202 195.1 554.2 1709.0 ... 753203 194.8 554.4 1706.0 ... 753257 196.9 566.0 1638.0 ... 753262 195.8 564.4 1631.0 ... 753263 195.8 564.1 1631.0 ... EFIX R 753140 753263 124 195.5 555.5 1710 (THIS) 753285 91.4 560.1 1614.0 ... 753286 89.0 559.7 1612.0 ... 753287 85.9 559.2 1610.0 ... EFIX R 753288 753494 207 67.7 569.0 1545 (THIS) 753291 73.2 559.3 1609.0 ... 

MSG 753202 SHOWING GONE (AND THIS)