Unter bestimmten Umstaenden ans Zeilenende anhaengen?

Diskutiere Unter bestimmten Umstaenden ans Zeilenende anhaengen? im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hi, ich hab eine Datei, die ein paar 1000 Zeilen lang ist... In manchen steht am Ende ,=, das ist in Ordnung. Aber die restlichen (die...

  1. Andrea

    Andrea Routinier

    Dabei seit:
    01.12.2003
    Beiträge:
    418
    Zustimmungen:
    0
    Ort:
    Bielefeld
    Hi,

    ich hab eine Datei, die ein paar 1000 Zeilen lang ist...

    In manchen steht am Ende ,=, das ist in Ordnung. Aber die restlichen (die meisten natuerlich) hoeren mit einer Zahl auf... Und an die muesste ich noch ,kl dranhaengen...

    Ich hab nur keine Ahnung, wie ich das Zeilenende abfragen kann?

    Danke schonmal,
    Andrea
     
  2. #2 Mµ*e^13.5_?¿, 30.05.2006
    Mµ*e^13.5_?¿

    Mµ*e^13.5_?¿ Routinier

    Dabei seit:
    21.02.2006
    Beiträge:
    453
    Zustimmungen:
    0
    Ist vielleicht nicht die einfachste Lösung:
    1. Du öffest die Datei mit vim ( "vim <dateiname>" in der konsole, vim muss natürlich dafür installiert sein )
    2. du tippst ":g/\d$/s/$/,kl/" ein.
    3. du tippst ":wq" ein.
     
  3. Andrea

    Andrea Routinier

    Dabei seit:
    01.12.2003
    Beiträge:
    418
    Zustimmungen:
    0
    Ort:
    Bielefeld
    Dumme Frage, aber wie?

    :g... macht den Fehler \sollte von / gefolgt sein (oder so aehnlich), mit ":g passiert gar nicht, ausser dass er zur 2. Zeile springt?

    Trotzdem danke,
    Andrea
     
  4. #4 Mµ*e^13.5_?¿, 30.05.2006
    Mµ*e^13.5_?¿

    Mµ*e^13.5_?¿ Routinier

    Dabei seit:
    21.02.2006
    Beiträge:
    453
    Zustimmungen:
    0
    Nun denn, hier eine einfachere Lösung:
    "sed '/[0-9]$/s/$/,kl/' [dateiname] > [neuerdateiname]"
    Als Befehl in der Konsole.
     
  5. #5 Andrea, 30.05.2006
    Zuletzt bearbeitet: 30.05.2006
    Andrea

    Andrea Routinier

    Dabei seit:
    01.12.2003
    Beiträge:
    418
    Zustimmungen:
    0
    Ort:
    Bielefeld
    Fast =).

    Jetzt fehlen in meiner Datei aber die Zeilen mit = hinten... Wie bekomme ich die denn in die gleiche Datei wie die neu erzeugten Zeilen?

    Uebrigens funktioniert > nd.txt bei mir nicht, ich muss die mit w datei angeben... Liegt das an mir ?

    Andrea

    EDIT
    Hat sich erledigt, ich hab dank cat und sort die Datei jetzt so wie ich sie haben wollte!
    Danke fuer die Hilfe und gute Nacht :-)
     
  6. #6 Wolfgang, 30.05.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Besser mit sed so:
    Häng an alle Zeilen, die nicht mit "=" am Enden die Zeichenfolge ",kl" an
    Mit GNU sed:
    GNU sed Version 4.1.4 geht sogar -i , was die Datei direkt editiert
    Code:
    
    sed -i -e '/=$/!s/\(.*\)$/\1,kl/' inputdatei
    
    sollen es nur die Zeilen mit Ziffern am Ende sein:
    Code:
    
    sed -i -e '/[[:digit]]$/s/\(.*\)$/\1,kl/' inputdatei
    
    Wenn du kein GNU sed > 4.x.x hast dann natürlich mit Umleitung
    Code:
    sed -i -e '/[[:digit:]]$/s/\(.*\)$/\1,kl/' inputdatei >outputdatei
    
    geht natürlich auch mit perl
    Code:
    perl -pi -e 's/^(.*)$/$1,kl/g if /[0-9]$/' inputdatei

    HTH
    Gruß Wolfgang
     
Thema:

Unter bestimmten Umstaenden ans Zeilenende anhaengen?

Die Seite wird geladen...

Unter bestimmten Umstaenden ans Zeilenende anhaengen? - Ähnliche Themen

  1. größe von bestimmten dateien in unterverzeichnissen zählen

    größe von bestimmten dateien in unterverzeichnissen zählen: ich würde gerne in einem bestimmten verzeichnis und dessen unterverzeichnissen einen bestimmten dateityp zählen wollen. soweit ist das auch kein...
  2. Unter vim bestimmten Zeilen löschen

    Unter vim bestimmten Zeilen löschen: Hallo NG! Gibt es unter vim ein Kommando mit dem man Zeilen löschen kann, die bestimmt Worte enthalten? Mit: %s/suchetext//g kann ich...
  3. Anlage einer SWAP-Datei unter CentOS 7 funktioniert nicht

    Anlage einer SWAP-Datei unter CentOS 7 funktioniert nicht: Hallo zusammen, ich verwende einen vServer von Strato (Linux V30) mit CentOS 7 64bit. Hier wollte ich nun einen SWAP-Speicher mit 8GB anlegen -...
  4. Robots aussperren, Websitescan unterbinden, PHP Checkbox-Captcha?

    Robots aussperren, Websitescan unterbinden, PHP Checkbox-Captcha?: Hallo zusammen, ich hätte gerne einen bestimmten Bereich der Webseite, den Robots oder scriptbasierte Scans von irgendwelchen Suchmaschinen oder...
  5. [gelöst] 2.HDD unter Freebsd partitionieren

    [gelöst] 2.HDD unter Freebsd partitionieren: Hallo Habe eine Testserver mit freeBSD 11.0 auf einer IDE-HDD (ada0) mit ZFS-root hab jetzt eine 2. HDd (SATA) angeschlossen und wollte die...