Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Mit sed Sonderzeichen aus einer bestimmten Spalte entfernen

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

    Mit sed Sonderzeichen aus einer bestimmten Spalte entfernen

    Hi,

    ich habe eine sehr große csv-Datei vorliegen, die das folgende Format hat:

    Name;Typ;Kurs;G1;G2...
    "Müller, Thomas";KAR;E 2/3ß$;ALR;3sd...

    Ich möchte jetzt mit sed aus der dritten Spalte (Kurs) alle nicht-Buchstaben, nicht-Ziffern sowie Umlaute entfernen, alle anderen Spalten aber so beibehalten.

    Wie gelingt mir das am besten?

    Vielen Dank im Voraus

    e271

    PS: Wie ich mit sed Zeichen entfernen kann weiß ich schon. Allerdings weiß ich nicht, wie ich das nur auf die dritte Spalte beschränken kann.

  2. #2
    Registrierter Benutzer
    Registriert seit
    30.12.2001
    Beiträge
    444
    Hallo e271,

    mit einem herzlichen Willkommen begrüße ich Dich als 2. Mitglied, dass im August einen Beitrag ins Scriptsprachenforum schreibt.

    Da hole ich doch glatt zur Feier des Tages mal die Gitarre raus.

    (__o_)====:::l

    ---

    Zum Problem: Na ich würde sagen, Wege gibt's da viele, aber mit awk geht das bestimmt am einfachsten. Ich kann allerdings nur sehr begrenzt awk.

    irgendwie so was:

    Code:
    awk -F; '{print $1;$2;loeschfunktion("alles was nicht(buchstabe oder ziffer ist" von $3);$4;$5,.....}' datei.txt >datei-neu.txt
    Die Frage ist für mich, ob Du die Zeichen wirklich alle löschen willst, statt eher zu ersetzen(z. B. ß durch ss).

    Mangels Kenntnis kann ich Dich also nur auf die Doku verweisen, die es bestimmt zu Hauf im Netz gibt.

    Alternativ kann man das auch mit einem kleinen Script mit cut, set und tr oder sed lösen.
    Geändert von fork (13-08-2015 um 08:24 Uhr)

Lesezeichen

Berechtigungen

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