2017-04-04 2 views
0

Dies ist der EingangWie entferne ich den Inhalt zwischen zwei Mustern auf mehreren Zeilen mit sed?

hai people<PATTERN> we had 
<PATTERN>a lot of fun<PATTERN> 

writing scri pts 
We will<PATTERN> 
have more 
<PATTERN>tomorrow<PATTERN> 
Hurray! 

Need

hai people<PATTERN> we had 

writing scripts 
We will<PATTERN> 
have more 
Hurray! 

Für mich das erste Muster Spiel entfernt haben, mit dem folgenden Befehl

sed '/PATTERN/{n;/PATTERN/d}' filename 
+2

Ich verstehe das nicht. Was versuchst du genau? Bitte erläutern Sie mehr. –

+0

Ich muss die Zeilen entfernen, die mit beginnen und mit enden. Eine Erklärung wäre hilfreich – JLinFanatic

Antwort

3
grep -Pv '^<PATTERN>.*<PATTERN>$' input 
hai people<PATTERN> we had 

writing scri pts 
We will<PATTERN> 
have more 
Hurray! 

sed verwenden, obwohl seine ein Overkill:

sed '/^<PATTERN>.*<PATTERN>$/d' input 
+0

Wie gebe ich den gleichen Befehl mit sed ein? – JLinFanatic

+0

aktualisiert ........... –

Verwandte Themen