Jeweils X Zeilen zusammenfügen (was RE: 2. Zeile mit grep raussuchen)

Das bringt mich auf ein Standard-Problem: Gibt es ein Programm, mit dem man jedes X-te Newline-Zeichen aus STDIN entfernen kann? Gerne auch awk-Magie ;-) Dann könnte man (auch in vielen anderen Fällen) logisch zusammengehörige Datensätze in eine Zeile schreiben (in diesem Falle jeweils zwei Zeilen hintereinander). Den Rest macht dann cut. Hat da jemand eine Idee? Sebastian Körner
Aber die Mailqueue kann leider auch mehrere Zeilen enthalten. Etwa so: 2h 566K 1AyrGa-0007g9-ED <mail@1.de> *** frozen *** empfänger1@bla.de
2h 2.5M 1Ayrbi-0007sh-2F <mail@2.de> empfänger2@bla.de
57m 1.1M 1AysN8-0000d7-PK <mail@3.de> *** frozen *** empfänger3@bla.de

Hallo, Am Thu, 04 Mar 2004, Koerner, Sebastian schrieb:
Das bringt mich auf ein Standard-Problem: Gibt es ein Programm, mit dem man jedes X-te Newline-Zeichen aus STDIN entfernen kann? Gerne auch awk-Magie ;-) Dann könnte man (auch in vielen anderen Fällen) logisch zusammengehörige Datensätze in eine Zeile schreiben (in diesem Falle jeweils zwei Zeilen hintereinander). Den Rest macht dann cut.
Hat da jemand eine Idee?
Jedes 2te z.B.: $ echo -e 'a\nb\nc\nd\ne\nf' | sed '1~2{N;s/\ //;}' ab cd ef Jedes 3te: $ echo -e 'a\nb\nc\nd\ne\nf' | sed '2~3{N;s/\ //;}' ab c de f Dabei ist die erste Zahl der Adresse die Startzeile und nach dem ~ folgt die "Schrittweite". Was N und s machen findest du in der manpage. -dnh -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.
participants (2)
-
David Haller
-
Koerner, Sebastian