Mit SED Zeichen aus Zeilen löschen CYGWIN

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von shakky4711, 13.04.2007.

  1. #1 shakky4711, 13.04.2007
    shakky4711

    shakky4711 DOS-FAN

    Dabei seit:
    03.04.2007
    Beiträge:
    37
    Zustimmungen:
    0
    Ort:
    Freiburg
    Hallo, ich habe das Problem aus einer Liste Punkte entfernen zu müssen um eine Weiterverarbeitung als Artikelnummer zu ermöglichen

    1.033.2129.01 139,80 50 36
    1.033.2532.50 143,40 50 36
    1.033.2936.01 245,40 25 36
    * * *

    Unter Cygwin habe ich folgendes in verschiedenen Versionen probiert, hat aber nicht zum Erfolg geführt:

    sed 's/.//g' datei1 > dateineu

    Auch wenn ich den Punkt durch andere Zeichen ersetzen will klappt es nicht. Lasse ich ein anderes Zeichen suchen und ersetzen geht es aber SED fügt sogar noch einen Doppelpunkt hinzu...

    sed 's/1/A/g' datei1 > dateineu

    1.022.2000.50 41,40 1 36 Original
    1.022.2500.50 45,90 1 36
    1.022.3200.50 71,00 1 36

    A:.022.2000.50 4A:,40 A: 36 ERGEBNIS
    A:.022.2500.50 45,90 A: 36
    A:.022.3200.50...

    Wo liegt meine Denkfehler? Liegt es an einer Besonderheit wegen Cygwin oder hat der Punkt an sich besondere Bedeutungen?


    Danke für Eure Hilfe
     
  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. #2 Wolfgang, 13.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ja, der Punkt hat unter allen mir bekannten Varianten von sed eine Sonderbedeutung.

    Du musst ihn ergo entweder escapen oder als Zeichenklasse definieren.

    Code:
    s/\.//g
    s/[.]//g
    
    Ob das Esdcapen auch so unter Cygwin klappt weiß ich nicht.
    Aber das kannst du ja selbst ausprobieren.
    Gruß Wolfgang
     
  4. #3 shakky4711, 13.04.2007
    shakky4711

    shakky4711 DOS-FAN

    Dabei seit:
    03.04.2007
    Beiträge:
    37
    Zustimmungen:
    0
    Ort:
    Freiburg
    Super, beide Versionen funktionieren wie gewünscht.

    Nur der Zeilenumbruch ist bei Betrachtung des Textfiles unter Windows natürlich verloren gegangen. Wie kann ich mit Sed am Ende einer jeden Zeile die Kommandozeichen einfügen um den zeilenumbruch zu erzwingen?
     
  5. #4 Wolfgang, 13.04.2007
    Zuletzt bearbeitet: 13.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Für Unix/linux

    Code:
    sed -e 's/.*/&\n/g' datei
    
    Wenn du dein \r brauchst, füge es einfach dafür ein.

    Gruß Wolfgang
     
  6. #5 shakky4711, 13.04.2007
    shakky4711

    shakky4711 DOS-FAN

    Dabei seit:
    03.04.2007
    Beiträge:
    37
    Zustimmungen:
    0
    Ort:
    Freiburg
    Super, hat geklappt, vielen vielen Dank!
     
Thema: Mit SED Zeichen aus Zeilen löschen CYGWIN
Besucher kamen mit folgenden Suchen
  1. sed zeile 1 zeichen löschen

    ,
  2. sed bestimmtes zeichen löschen

    ,
  3. bash sed zeichen löschen

    ,
  4. unix zeichen einer zeile löschen,
  5. sed Zeichen entfernen,
  6. linux shell zeilen löschen mit bestimmten zeichen,
  7. bash zeichen datei entfernen
Die Seite wird geladen...

Mit SED Zeichen aus Zeilen löschen CYGWIN - Ähnliche Themen

  1. Zeichen an Zeilenanfang für bestimmten Zeilenbereich einfügen

    Zeichen an Zeilenanfang für bestimmten Zeilenbereich einfügen: Hallo, ich würde gerne in einem Textdokument, z.B. von Zeile 10 - 18, an den Zeilenanfang ein # einfügen. Habe mir schon diverse Seiten zu SED...
  2. Text mit mehreren Zeilen und Sonderzeichen ersetzten

    Text mit mehreren Zeilen und Sonderzeichen ersetzten: Hallo zusammen, ich bin in Sachen Programmierung noch relativ neu und frisch unterwegs und bräuchte etwas Unterstützung wenn möglich. Im...
  3. Script Zeilenumbruch -> Leerzeichen

    Script Zeilenumbruch -> Leerzeichen: Wie muß folgendes Script für die Bash aussehen: Ich habe eine Textdatei mit einer Liste von (distributionseigenen)-Programmen, die ich...
  4. grep: Leerzeichen am Zeilenanfang werden nicht gefunden

    grep: Leerzeichen am Zeilenanfang werden nicht gefunden: Hallo, habe eine Datei, wo am Anfang der Zeile drei Leerzeichen sind und die Zeichenfolge xyz. Ich möchte diese Zeile finden, indem ich nach...
  5. Wie Zeilen mit weniger als 34 Zeichen aus einem Textfile löschen?

    Wie Zeilen mit weniger als 34 Zeichen aus einem Textfile löschen?: Ich möchte alle Zeilen mit weniger als 34 Zeichen aus einem Textfile löschen. Kennt jemand eine Möglichkeit über die Kommandozeile?