Mit sed Spalteninhalt ändern

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von zst, 26.06.2007.

  1. zst

    zst Foren As

    Dabei seit:
    06.09.2006
    Beiträge:
    95
    Zustimmungen:
    0
    Hallo allerseits,

    leider gelingt es mir nicht, mit sed eine Spalte einer Datei zu erweitern.
    Jede Zeile hat das folgende Format:
    Code:
    1234567,Markt GmbH,01234,Berlin,Alter Hafen 5,Frau Vera Mustermann,4,0,0,0,
    
    Und nun will ich - wegen den Postleitzahlen mit führenden Nullen - vor die PLZ ein D- haben, also D-01234.

    Wie geht das mit sed - wer hat eine Idee für mich?

    Vorab schon vielen Dank!!!
    Gruss zst
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    das sollte funktionieren, solange die Ziffernfolge der PLZ nicht in der ersten Zeile enthalten ist, da dann die "matcht" und ersetzt wird.

    Code:
    #!/bin/bash
    
    while read line
    do
    echo $line | sed -e  s/` echo $line | awk -F, '{print $3}'`/D-\&/
    
    done < $input_file
    
    
     
  4. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Setzt vor alle PLZ mit führender 0 ein D-0:
    Code:
    awk -F "," '{sub("^0", "D-0", $3);print}' INPUT > OUTPUT
    Setzt vor alle PLZ ein D-0:
    Code:
    awk -F "," '{sub("^", "D-", $3);print} INPUT > OUTPUT
     
  5. zst

    zst Foren As

    Dabei seit:
    06.09.2006
    Beiträge:
    95
    Zustimmungen:
    0
    Hallo Ihr Schnellantworter,

    vielen Dank für Eure Lösungsvorschläge.

    @NoXqs: auch wenn eine 01234 PLZ in der ersten Zeile ist, geht es. Besten Dank !!!

    @smg: auch Deine Lösung funktioniert, vielen Dank!, Nur schade, dass hier alle Kommas entfernt werden.

    Prima, dass Eure Hilfe so schnell kam !!!
    Gruss zst
     
  6. NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    Sorry, ich meinte in der ersten Spalte.
    Aber schön, wenn es trotzdem geht.
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 Wolfgang, 26.06.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Die gefragte sed-Lösung:
    Code:
    $ echo "1234567,Markt GmbH,01234,Berlin,Alter Hafen 5,Frau Vera Mustermann,4,0,0,0,"|sed -e 's/^\([^,]*[,][^,]*[,]\)\([[:digit:]]\+\)\(.*\)$/\1D-\2\3/g'
    1234567,Markt GmbH,D-01234,Berlin,Alter Hafen 5,Frau Vera Mustermann,4,0,0,0,
    
    Gruß Wolfgang
     
  9. zst

    zst Foren As

    Dabei seit:
    06.09.2006
    Beiträge:
    95
    Zustimmungen:
    0
    Hallo Wolfgang,

    auch Dir DANKE für Deine perfekte Lösung.
    Ich werde mich wohl mal genauer mit sed beschäftigen müssen, sieht einfach toll aus ... :-)) ... und funktioniert !!!
    Gruss zst
     
Thema:

Mit sed Spalteninhalt ändern

Die Seite wird geladen...

Mit sed Spalteninhalt ändern - Ähnliche Themen

  1. Spalteninhalte dividieren

    Spalteninhalte dividieren: Hallo, ich möchte gerne die Elemente einer Spalte durch die Elemente einer zweiten Spalte dividieren. Dazu folgendes Beispiel mit dem Datenfile...
  2. Home Verzeichnis ändern

    Home Verzeichnis ändern: Hallo Wollte nicht, dass mein Sohn (16) in die veschränkte WIN Welt hinein wächst und habe für Ihn Linux Mint auf seinem LAPTOP installiert. Er...
  3. Mozilla-Studie: Web schafft Chancen in Entwicklungsländern

    Mozilla-Studie: Web schafft Chancen in Entwicklungsländern: Mozilla hat gemeinsam mit der GSMA eine Studie erstellt, die die Möglichkeiten des Webs in Entwicklungsländern aufzeigt. Eine wachsende Zahl von...
  4. Tastaursignale für ein bestimmtes Programm ändern

    Tastaursignale für ein bestimmtes Programm ändern: Abend, ist es unter Ubuntu möglich die Tastenbefehle die bei einem bestimmten Programm ankommen nur für dieses Programm zu ändern? Wenn also...
  5. youtube-dl mit WebUI einrichten - Download-Ordner ändern + Berechtigungen

    youtube-dl mit WebUI einrichten - Download-Ordner ändern + Berechtigungen: Hallo, auf meinem Raspberry Pi habe ich youtube-dl (manuelle Installation; systemweit [wie im UU-Wiki beschrieben]) installiert. Dazu...