Anzeige:
Ergebnis 1 bis 8 von 8

Thema: bash sortieren von Dateiinhalten

  1. #1
    Registrierter Benutzer
    Registriert seit
    22.07.2010
    Beiträge
    135

    bash sortieren von Dateiinhalten

    Hallo,

    das Thema wurde zwar schon mehrfach behandelt, aber ich habe zu meinem speziellen Problem leider keine Lösung gefunden.

    Ich möchte den Inhalt einer Textdatei nach einer bestimmten Spalte sortieren. Nicht jede Zeile hat diese Spalte, daher sollen die Datensätze ohne diese Spalte am Anfang stehen.

    Der Inhalt der Datei sieht folgendermaßen aus:
    Code:
    "Schlumps, Maria";"M_[7Ldkc";"62";"der";"der"
    "Meyer, Claudia";"]GK_<dK["
    "Albrecht, Martin";"eWcGLdck";"105";"eds";"eds"
    "Müller, Martin";"e?37;lK[";"23";"aes";"aes"
    Die einzelnen Spalten sind mit einem ";" (inklusive ") getrennt. Die dritte Spalte ist eine Zahl oder leer. Danach soll sortiert werden.

    Über Tipps würde ich mich freuen.

  2. #2
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Sort ist dein Freund.
    Code:
    cat datei | sort --field-separator=; --key=3 --numeric-sort
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  3. #3
    Registrierter Benutzer
    Registriert seit
    22.07.2010
    Beiträge
    135
    @undefined

    Eben genau das funktioniert nicht. Selbst wenn ich --field-separator=";" benutze klappt's nicht.

  4. #4
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Datenbank Design Fehler
    Weil bei dir der Dritter Wert als String deklariert ist wird er nicht als Numeric behandelt.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  5. #5
    Registrierter Benutzer
    Registriert seit
    22.07.2010
    Beiträge
    135
    Ich hab's gerade geändert, nützt aber nichts, weil ich ja Zeilen _ohne_ dritte Spalte habe und in der zweiten Spalte auch Semikolons vorkommen können. Ein Trenner -t; funktioniert also nicht, ein Trenner -t";" auch nicht, weil die Zahlen ja nicht in Anführungszeichen stehen

  6. #6
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Weis nicht wo dein Problem liegt.
    Bei mir geht dein Beispiel Code vom ersten Thread mit der Zeichenketten Konvertierung.
    Code:
    :/tmp> cat datei | sort --field-separator=';' --key=3 --numeric-sort
    "Meyer, Claudia";"]GK_<dK["
    "Müller, Martin";"e?37;lK[";23;"aes";"aes"
    "Schlumps, Maria";"M_[7Ldkc";62;"der";"der"
    "Albrecht, Martin";"eWcGLdck";105;"eds";"eds"
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  7. #7
    Registrierter Benutzer
    Registriert seit
    22.07.2010
    Beiträge
    135
    Stimmt. In meinen Datensätzen sind aber auch Semikolons in der zweiten Spalte. Folgendes funktioniert schon nicht mehr:
    Code:
    "Schlumps, Maria";"M_[7Ldkc";62;"der";"der"
    "Meyer, Claudia";"]GK_ ;<dK["
    "Albrecht, Martin";"eWcG ;Ldck";105;"eds";"eds"
    "Müller, Martin";"e?37 ;lK[";23;"aes";"aes"
    "Schlumps, Maria";"M_[7L ;dkc";62;"der";"der"
    "Meyer, Claudia";"]GK_<dK["
    "Albrecht, Martin";"eWGLdck";105;"eds";"eds"
    "Müller, Martin";"e?37lK[";23;"aes";"aes"
    Ausgabe:
    Code:
    cat neu.txt | sort --field-separator=';' --key=3 --numeric-sort
    "Albrecht, Martin";"eWcG ;Ldck";105;"eds";"eds"
    "Meyer, Claudia";"]GK_<dK["
    "Meyer, Claudia";"]GK_ ;<dK["
    "Müller, Martin";"e?37 ;lK[";23;"aes";"aes"
    "Schlumps, Maria";"M_[7L ;dkc";62;"der";"der"
    "Müller, Martin";"e?37lK[";23;"aes";"aes"
    "Schlumps, Maria";"M_[7Ldkc";62;"der";"der"
    "Albrecht, Martin";"eWGLdck";105;"eds";"eds"

  8. #8
    Registrierter Benutzer
    Registriert seit
    22.07.2010
    Beiträge
    135
    Ich hab's jetzt gelöst, indem ich als Trenner einfach ein | genommen habe. Weshalb ich da nicht gleich drauf gekommen bin ...

    Danke, undefined, für Deine Hilfe und Geduld!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •