Zeilenumbruch vergessen Zeile nach Spaltenanzahl teilen

320
Simon O'Hanlon

Ich sende eine einzelne Zeile der Ausgabe (von einigen Cluster-Jobs) an eine Datei. Die Ausgabe hat eine definierte Anzahl von Spalten, aber ich habe vergessen, am Ende jeder Zeile einen Zeilenumbruch hinzuzufügen, sodass alle meine Eingaben in einer einzigen langen Zeile in der Ausgabedatei verkettet werden.

Wie kann ich die Ausgabe in eine bestimmte Anzahl von Spalten umbrechen?

zB ich habe:

Alice 1 2 3 Barry 4 5 6 Charlie 7 8 9 

Ich würde gern:

Alice 1 2 3 Barry 4 5 6 Charlie 7 8 9 

Soweit ich das beurteilen kann, awkwirkt sich dies auf Zeilen aus und hat keine Möglichkeit, die aktuelle Feldnummer innerhalb eines Datensatzes zu bearbeiten und foldarbeitet mit festen Spaltenbreiten. Sie können davon ausgehen, dass es zwischen jedem Feld ein einzelnes Trennzeichen gibt, das immer das gleiche ist ( \t).

0

1 Antwort auf die Frage

0
Animesh Patra

Nehmen wir an, der Name der Datei lautet xyz.txt. Dann können Sie Folgendes versuchen:

sed -i -e '$ a \' xyz.txt

oder

Echo Good \\ nline2Morning dann wird die Ausgabe sein:

Gut

Morgen

oder

echo " dateBenutzer whoamihat das Skript gestartet." $ '\ r' >> xyz.txt

Hier ist das $ '\ r' am Ende ein zusätzlicher Wagenrücklauf; Wenn dies plus das Unix-Zeilenende endet, führt dies zu einem Windows-Zeilenende.

Bitte lassen Sie mich wissen, wenn ich Ihre Frage richtig verstanden habe.

Bitte beachten Sie dies .

Vielen Dank.

Hallo, danke für den Versuch, aber du hast es falsch verstanden. Ich habe bereits eine Datei mit einer einzigen Ausgabezeile. Diese einzeilige Datei muss in jedem vierten Feld in mehrere Zeilen aufgeteilt werden. Prost Simon O'Hanlon vor 7 Jahren 0