ubuntuusers.de

shell script, das eine Datei generiert, aus 16 Dateien, jeweils eine Zeile, mit Besonderheit

Status: Gelöst | Ubuntu-Version: Kubuntu 13.10 (Saucy Salamander)
Antworten |

rafi

Avatar von rafi

Anmeldungsdatum:
7. Februar 2006

Beiträge: 1050

Wohnort: Baden-Baden

hallo,

ich möchte aus 16 Text Dateien eine einzelne generieren.

Dabei soll jede Zweite Zeile aus der ersten Datei sein, und die andere abwechselnd eine der folgenden Dateien.

hier vereinfacht 3 Dateien, A, B und C die jeweils aus

Datei A:

A1
A2
A3
A4
A5
A6

Datei B:

B1
B2
B3

Datei C:

C1
C2
C3

nach dem Zusammenführen soll es so aussehen:

A1
B1
A2
C1
A3
B2
A4
C2
A5
B3
A6
C3

Der Einfachheit ist die Summe aller Zeilen von allen Dateien ausser Datei A gleich der Zeilenanzahl von Datei A

Danke für Tipps,

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Dies könnte man ja so auffassen, dass die Dateien B ... P zu einer großen Datei zusammengesetzt werden, und dann immer abwechselnd aus Datei A und diesem Lindwurm eine Zeile genommen werden.

Dies leistet paste von Hause aus:

cat  B C D E F G H I J K L M N O P  |  paste -d "\n" A -

Als Trennzeichen muss man natürlich den Zeilenvorschub einstellen.

Edit: ich sehe gerade, Du willst ja die Reihenfolge anders haben ! - - dafür kann man zwei paste - Befehle in der Pipe hintereinander staffeln, anstelle des cat - Befehls. Also so::

paste -d "\n"  B C D E F G H I J K L M N O P  |  paste -d "\n"  A -

LG,

track

rafi

(Themenstarter)
Avatar von rafi

Anmeldungsdatum:
7. Februar 2006

Beiträge: 1050

Wohnort: Baden-Baden

exzellent! genau das habe ich gebraucht, es läuft einwandfrei. (sogar bei über 10000 Zeilern)

Antworten |