1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Dateien zeilenweise zusammenfügen

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von wims_live, 27.08.09.

  1. wims_live

    wims_live Jonagold

    Dabei seit:
    26.05.09
    Beiträge:
    21
    Guten Abend allerseits...

    Hab ein kleines Problem, bei dem ich hoffe, das mir jemand helfen kann...

    Habe mit verschiedenen "grep" und "sed" Anweisungen eine Datei so aufgesplittet, das die von mir benötigten Werte in 4 (!) Dateien zeilenweise gespeichert sind.

    Nun möchte ich die Dateien gern zusammenführen, und zwar nach folgenden Muster:

    Datei_1_Zeile_1 Datei_2_Zeile_1 Datei_3_Zeile_1 Datei_4_Zeile_1
    Datei_1_Zeile_2 Datei_2_Zeile_2 Datei_3_Zeile_2 Datei_4_Zeile_2
    usw...

    Als Seperator kann TAB, Semikolon, oder Komma in Frage kommen.

    Hab "paste" mit dem -d Argument ausprobiert.

    Leider fügt es mir die Werte schon zusammenhängend zusammen, aber untereinander.

    Bsp:

    Datei_1_Zeile_1
    Datei_2_Zeile_1
    Datei_3_Zeile_1
    Datei_4_Zeile_1
    Datei_1_Zeile_2
    Datei_2_Zeile_2
    Datei_3_Zeile_2
    Datei_4_Zeile_2

    Der noch mögliche -s Schalter hilft hier auch nicht.

    Hat hier irgendjemand einen Rat, wie ich mein kleines Problemchen lösen kann?

    Vielen Dank
     
  2. gKar

    gKar Maunzenapfel

    Dabei seit:
    25.06.08
    Beiträge:
    5.362
    Das sollte sich mit einem kleinen Perl-Script schnell machen lassen.
    Wirf doch mal einen Blick ins Pers-Tutorial.
    Grundidee:
    Vier Eingabedateien E1 bis E4 öffnen, eine Ausgabedatei A öffnen,
    Schleife: Zeile aus Eingabe E1 auslesen, chomp (Zeilenumbruch abschneiden), nach A schreiben, dasselbe für E2 bis E4, dann Zeilenumbruch nach A schreiben.
    Wenn E1 zuende gelesen, Schleife abbrechen und alle 5 Dateien schließen.
     
  3. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.901
    Ein simples:
    Code:
    paste File1 File2 File3 File[I]n[/I]
    ...should do the job.
    Überrprüfe deine Dateien mal mit einem Hexdump auf irgendwelche versehentlich eingebauten, obskuren Steuerzeichen am Zeilenende, die dir vllt da querschiessen könnten.
    (Alternativ gäbe es auch noch "lam", das eine ganz ähnliche Funktion besitzt...)
     
    CloneOfMyself gefällt das.

Diese Seite empfehlen