abschneiden nach letztem Zeichen einer Zeile

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von AlexNBG276, 14.01.2009.

  1. #1 AlexNBG276, 14.01.2009
    AlexNBG276

    AlexNBG276 Jungspund

    Dabei seit:
    12.12.2008
    Beiträge:
    12
    Zustimmungen:
    0
    Hallo,

    ich möchte nach dem letzten Zeichen einer Zeile [0-9 oder A-Z] mögliche Leerzeichen entfernen.

    Beispiel aus:

    ADASDF_ASDFASDF____ ( _ steht für mögliche Leerzeichen) soll werden
    ADASDF_ASDFASDF

    oder auch aus

    AASDADSDF_ADFASDF9___________
    AASDADSDF_ADFASDF9

    Kann man das mit cut oder sed machen? - Wenn ja wie?

    Vielen Dank im Voraus für Support!

    Gruss
     
  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 supersucker, 14.01.2009
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Code:
    echo "foo  bar " | tr -d " "
    foobar
    
    Siehe

    Code:
    man tr
     
  4. #3 Gott_in_schwarz, 14.01.2009
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    tr ersetzt jedes Leerzeichen. Die letzten Leerzeichen lassen sich einfach mit sed entfernen:
    Code:
    echo "foo   bar     baz        "|sed 's/ *$//'
    In perl hätte ich "\s+" für whitespaces verwendet, aber das kennt sed afaik nicht. Und das Plus hätte man wohl escapen müssen und ist eventuell auch nicht in jeder sed-Version erhältlich, von daher...

    "$" ist der "end-of-line" Anchor (==Anker). Also alle spaces vorm Ende der Zeile durch nichts ersetzen.
     
  5. #4 AlexNBG276, 14.01.2009
    Zuletzt bearbeitet: 14.01.2009
    AlexNBG276

    AlexNBG276 Jungspund

    Dabei seit:
    12.12.2008
    Beiträge:
    12
    Zustimmungen:
    0
    Danke!
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    um alle unsichtbaren Zeichen (Leerzeichen, Tabs) vom Ende aller Zeilen zu löschen geht auch

    sed 's/[ \t]*$//'
     
  6. Tblue

    Tblue Tripel-As

    Dabei seit:
    27.11.2007
    Beiträge:
    188
    Zustimmungen:
    0
    Sed kennt Zeichenklassen, das sed-Äquivalent für \s+ ist:
    Code:
    [[:space:]]\+
    :)

    //edit: Jedenfalls mit GNU sed funktioniert das.
     
Thema:

abschneiden nach letztem Zeichen einer Zeile

Die Seite wird geladen...

abschneiden nach letztem Zeichen einer Zeile - Ähnliche Themen

  1. Zeilen nach matching pattern abschneiden

    Zeilen nach matching pattern abschneiden: Hallo zusammen, ich weiß die Frage wäre einem Großteil von Euch nicht die Zeit zum Formulieren wert, ich weiß aber trotzdem nicht weiter....
  2. nach = abschneiden

    nach = abschneiden: Hallo, ich würde gern Zeilen in der smb.conf entfernen, die keine Zuweisung erhalten, wie zum Beispiel: "realm = " Die schreibweise des...
  3. String nach einer Zahl abschneiden

    String nach einer Zahl abschneiden: Hallo, also ich möchte die zeilean aus einer Datei als ergebnis haben, die mit einer Zahl beginnen. Ich möchte aber nur die Zahl als Ergebnis...
  4. Variable / Array abschneiden

    Variable / Array abschneiden: Hallo zusammen, habe ein Problem welches ich mal wieder ohne Hilfe nicht behoben bekomme. Habe in einem Textfile an einer Stelle einen langen...
  5. Ausgabe ab bestimmter Zeile abschneiden

    Ausgabe ab bestimmter Zeile abschneiden: Ist eigentlich ein einfaches Problem, hab aber jetzt keine Lösung: Ich habe eine Ausgabe eines Programms, die ich weiter verarbeiten möchte. Der...