2017-04-26 7 views
2

Ich habe eine Datei mit Absätzen durch 2 leere Zeilen in Unix getrennt. Ich möchte Absätze nach dem Suchen nach einem Wort in eine andere Datei kopieren. Ich bin in der Lage, Absätze zu kopieren, aber die Absätze Trennzeichen sind nicht vorhanden, so dass es als kontinuierliche para kommt. Mein Befehl zur Trennung von para:Absätze in Unix trennen

awk -v RS= '/Testing/' file>>file2 

Jetzt bekomme ich:

Testing 
case1 
Testing 
case2 

Was ich

Testing 
case1 


Testing 
case2 
+1

können Sie ein Fragment Ihrer ursprünglichen Datei mit Absätzen veröffentlichen? – RomanPerekhrest

Antwort

2

erhalten müssen Sie müssen ORS (Output Record Separator) als \n\n in awk einzustellen:

awk -v RS= '/Testing/' ORS='\n\n' file 

Der Standardwert von ORS ist \n. Aber, Absatz benötigt \n\n.

+0

Ich möchte, dass meine Absätze in der Ausgabedatei durch 2 leere Zeilen getrennt werden. – codehacker

+0

@codehacker, Verwenden: 'awk -v RS = '/ Testen /' ORS = '\ n \ n \ n' Datei> Datei.out' – sat

+0

Danke es funktionierte @sat – codehacker