Warum druckt awk keine Zeilenumbrüche?

9

Ich habe eine Datei, die so aussieht:

%Vor%

Ich verwende awk , um nur jede nth -Zeile mit n=3 zu extrahieren.

%Vor%

Die Ausgabe erscheint in einer einzelnen Zeile als:

%Vor%

..... und so weiter

Ich möchte, dass es wie folgt aussieht:

%Vor%

Ich habe versucht, \n , printf mit \n usw. zu verwenden, aber es funktioniert nicht wie erwartet. Bitte beraten.

    
mane 28.02.2012, 22:44
quelle

3 Antworten

8

Ein ausführlicher Weg,

%Vor%

Du kannst auch {printf("%s\n\n", \n)} verwenden. Wenn single RS nicht funktioniert.

Wenn es immer noch nicht funktioniert, müssen Sie möglicherweise den Zeilenabschluss überprüfen. Es mag nicht korrekt sein. Verwenden Sie die awk -Variable in %code% , um den ungewöhnlichen Zeilenabschluss zu trennen.

    
Shiplu Mokaddim 28.02.2012, 22:50
quelle
3

Ich denke, das Problem liegt in der Art und Weise, wie Sie die Daten zeigen, nicht in der Verarbeitung.

%Vor%

Ich vermute, dass das, was Sie tun, ähnlich ist:

%Vor%

Das würde dich verwirren. Siehe auch: Mehrzeilige Ausgabe in eine Bash-Variable aufnehmen .

    
Jonathan Leffler 28.02.2012 23:08
quelle
2

Verwenden Sie Folgendes mit print für jede Zeile:

%Vor%     
huelbois 28.02.2012 23:07
quelle

Tags und Links