Anzeige:
Ergebnis 1 bis 4 von 4

Thema: CSV Zeile löschen wenn

  1. #1
    Registrierter Benutzer
    Registriert seit
    03.07.2014
    Beiträge
    6

    CSV Zeile löschen wenn

    Hallo

    Ich knoble seit längerem daran, eine CSV Zeile zu löschen, sollte der Wert in Spalte B keinen Punkt enthalten.

    Beispiel:
    Code:
    name;nummer;beschreibung
    alpha;100000;test
    beta;100000.1;test
    gamma;100000.2;test
    In diesem Beispiel sollte demnach die Zeile 1 subtrahiert werden.
    Zeile 2 und 3 sollen ausgegeben werden bzw. in eine neue Datei gepiped werden, da diese den geforderten Punkt enthalten.

    Da ich ziemlich schlecht im Umgang mit Tools wie sed oder awk bin, erkunde ich für die kleine Anforderung grosse Mühe.


    Für jede Hilfe bin ich euch dankbar!

    Grüsse
    $dollar

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.09.2005
    Beiträge
    61
    Hallo,
    das geht mit grep -E oder egrep.
    Sind die echten Daten anders, als dein Beispiel, musst du den Befehl natürlich anpassen.
    Code:
    egrep -v "[[:digit:]]{2};" DATEI
    Ergebnis:
    name;nummer;beschreibung
    beta;100000.1;test
    gamma;100000.2;test

    Gruss zst

  3. #3
    Registrierter Benutzer
    Registriert seit
    20.09.2005
    Beiträge
    61
    Falls du auf die Überschrift verzichten willst und nur die Ergebniszeilen benötigst, geht es auch einfacher:
    Code:
    egrep "\.+" DATEI
    Ergebnis:
    beta;100000.1;test
    gamma;100000.2;test

    Gruss zst

  4. #4
    Registrierter Benutzer
    Registriert seit
    03.07.2014
    Beiträge
    6
    Hallo zst

    Danke für die Antworten. Ich habe nahezu zeitgleich eine Lösung mit awk gefunden.
    Der Vorteil dieser Variante ist, dass per awk die Abfrage auf die bestimmte Zelle gemacht werden kann:

    Code:
    awk -F ';' '$1 ~ /\./' file_tmp > file_final
    Erläuterng:
    ";" ist der delimiter
    "$1" ist die erste Zelle der Zeile
    "~ /\./" überprüft ob die Zelle einen Punkt enthält


    Besten Dank und Freundliche Grüsse
    $dollar

Lesezeichen

Berechtigungen

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