Die letzten X Zeichen eines Strings einlesen - wie?

Diskutiere Die letzten X Zeichen eines Strings einlesen - wie? im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo zusammen, ich bin auf der Suche nach dem Befehl, mitdem ich die letzen x Zeichen eines Strings auslesen kann. Soll heißen: String...

  1. #1 michaelg, 10.10.2008
    michaelg

    michaelg Grünschnabel

    Dabei seit:
    10.10.2008
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo zusammen,

    ich bin auf der Suche nach dem Befehl, mitdem ich die letzen x Zeichen eines Strings auslesen kann.

    Soll heißen:

    String outpout ist zB.:
    das ist mein string 123.445.323.33=234

    Jetzt möchte ich die letzten 3 Zeichen (in diesem Fall also die 234) in eine neue Variable schreiben. Was nimmt man da cut? awk? sed?

    Wichtig ist, das er "von rechts nach links" einließt und die letzten X Zahlen übergeben werden können, da der String keine fest Länge hat und variabel ist.

    Jemand ne Idee?

    Danke
    Gruß Michael
     
  2. Anzeige

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Psyjo

    Psyjo Routinier

    Dabei seit:
    15.11.2005
    Beiträge:
    259
    Zustimmungen:
    0
    Ort:
    Hinter'm Berg
    Code:
     echo abc123 | sed 's/.*\(.\{3\}\)$/\1/' 
    liefert '123'

    Ich hoffe mal das ist was du suchst.

    Psyjo
     
  4. #3 michaelg, 10.10.2008
    michaelg

    michaelg Grünschnabel

    Dabei seit:
    10.10.2008
    Beiträge:
    2
    Zustimmungen:
    0
    Vielen DANK, hat prima funktioniert !
     
  5. #4 Gott_in_schwarz, 10.10.2008
    Zuletzt bearbeitet: 10.10.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    *Senf dazugeb*

    Wenn die Zeile jeweis ein Leerzeichen hat und du quasi die rechte Seite des Leerzeichens haben willst geht es auch so:
    Code:
    echo '123.445.323.33=234'|cut -d= -f2
    # oder so:
    echo '123.445.323.33=234'|awk -F= '{print $2}'
    # oder so:
    echo '123.445.323.33=234'|perl -anF= -le 'print $F[1]'
    Wenns nur die letzten drei Zeichen seien sollen gehts mit (GNU) grep imho übersichtlicher:
    Code:
    echo foobar|grep -o '...$'
    # oder so:
    echo foobar|grep -o '.\{3\}$'
    # oder mit egrep:
    echo foobar|egrep -o '.{3}$'
    # oder mit bash:
    var=123.445.323.33=234
    echo ${var: -3}
     
  6. #5 saeckereier, 10.10.2008
    Zuletzt bearbeitet: 11.10.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Ich bin uuuuuunwürdig
     
  7. #6 Gott_in_schwarz, 10.10.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Ja du Held¹, lies mal genau, da steht bytes. You know about charsets, do you?
    Code:
    $ echo foobar|tail -c3
    ar
    $ echo foobar|tail -c4
    bar
    $ echo 123µ|tail -c3
    µ
    $ echo µφγvσöϑβµρινζρισι|tail -c10
    �ρισι
    $ echo 썂썃썍썙|tail -c4
    썙
    $ echo 썂썃썍썙|grep -o '...$'
    썃썍썙
    $ echo $LANG
    en_US.UTF-8
    ad 1: wie man in den Wald reinruft..

    Also das "Helden" hättest du dir wirklich sparen können, aber nungut...
     
  8. #7 Wolfgang, 10.10.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ja, ja das gute alte ASCII. ;)
    Und Heute?
    Nichts ist mehr wie es scheint.
    So verglüht das Heldentum am digitalen Horizont. ;)

    @Gott_in_schwarz

    Die Mordslösung mit 2 x rev und cut hast du vergessen. ;)

    Verbraucht immerhin weniger als 5 Prozesse und funzt sogar. *lol*

    Nix für Ungut.

    Friede sei mit Euch (Ihr Helden)
    *g*

    Wolfgang
     
  9. #8 saeckereier, 11.10.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    @Gott_in_Schwarz: Habe meinen Post deinen Anregungen zufolge editiert. Im Ernst, ich bin mir dessen vollkommen bewusst gewesen und mit ISO-* funktioniert es ja auch. Nur dass wir das unter Linux eigentlich fast nicht mehr einsetzen, das ist wohl wahr. Ich habe in meiner Firma genug Probleme damit gehabt, da hätte man wenigstens was dazu schreiben sollen.
     
  10. #9 Gott_in_schwarz, 11.10.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Ach unwürdig, pff. Ging halt primär um das "Helden". Und das head da so archaisch ist, naja, schade drum in Unicode-Zeiten.
    Friede, Freude, Apfelkuchen :)

    Alibi-ontopic: (aber wieder byteorientiert :0)
    Code:
    echo foobar|rev|cat|xargs echo|cut -b 1-3|rev
    (Disclaimer: Lieber nicht in Produktivcode verwenden. ^^)
     
  11. #10 saeckereier, 11.10.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Geiler Code... Nee, aber das tail Dingens ist wirklich blöde und du kannst wetten, dass wenn ichs stehengelassen hätte, jemand dasgefunden und sich irgendwann gewundert hätte, warums bei bestimmten Fällen komischerweise nicht klappt..
     
  12. #11 Wolfgang, 11.10.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Code:
    $ echo "Eint test mit 123"|rev|cut -c1-3|rev
    123
    
    Nicht Byteorientiert!
    Trotzdem overkill.
     
Thema: Die letzten X Zeichen eines Strings einlesen - wie?
Besucher kamen mit folgenden Suchen
  1. bash letztes zeichen ausgeben

    ,
  2. linux bash letzte 2 zeichen variable

    ,
  3. linux letzte zeichen ausgeben

    ,
  4. grep unix letztes zeichen ermitteln,
  5. sed unix letztes zeichen ausgeben ,
  6. awk die letzten 2 zeichen eines strings auslesen in unix,
  7. bash letztes zeichen,
  8. awk x zeichen von rechts ausgeben,
  9. string ab einem bestimmten zeichen auslesen mit access regex,
  10. linux cut letztes zeichen,
  11. bash string variable letztes zeichen ausgeben,
  12. oracle zeichen vom ende auslesen,
  13. bash die letzten 6 zeichen von einem string,
  14. awk das letzte zeichen ausgeben,
  15. Unix bestimmtes Zeichen einer Variabel anzeigen,
  16. bash n zeichen einer variable ausgeben,
  17. bash letzte 2 stellen eines strings filtern,
  18. sed ausgabe ab zeichen,
  19. linux Zeichen aus String extrahieren,
  20. outlook body letztes zeichen einer zeile ausgeben,
  21. nur die letzten zeichen einer datei anzeigen,
  22. sed ziffern ab 8. stelle extrahieren,
  23. unix nur letzten 3 buchstaben,
  24. sed letzte zahl,
  25. linux bash string zeichen rechts
Die Seite wird geladen...

Die letzten X Zeichen eines Strings einlesen - wie? - Ähnliche Themen

  1. FSFE: Software-Freiheit in den letzten 12 Monaten

    FSFE: Software-Freiheit in den letzten 12 Monaten: Die Free Software Foundation Europe (FSFE) berichtet in einer aktuellen Pressemitteilung über die Erfolge in Sachen Software-Freiheit während der...
  2. Nur den letzten Ordnernamen eines Pfades ausgeben

    Nur den letzten Ordnernamen eines Pfades ausgeben: Hi, gibt es eine einfache Möglichkeit mir nur den letzten Ordnernamen eines Pfades ausgeben zu lassen, wenn als Input der ganze Pfad inkl. Datei...
  3. Prüfen ob ein Datum innerhalb letzten 2 Wochen liegt

    Prüfen ob ein Datum innerhalb letzten 2 Wochen liegt: Hallo, ich bräuchte eine Funktion die prüft ob ein Datum im Format tt.mm.JJJJ innerhalb der letzten 2 Wochen liegt. Oder anders ausgedruckt, ob...
  4. Skript - letzten Samstag im Monat

    Skript - letzten Samstag im Monat: Hallo zusammen, ich möchte gerne unser backup über ein skript starten lassen, dieses soll aber nur am letzten Samstag im Monat laufen. Ich...
  5. Letzten Tag löschen

    Letzten Tag löschen: Hi, ich bin ein absoluter Neuling mit bash Scripten, ah da ich bei einem Projekt in allen php Dateien die letzten, schließenden PHP-tags entfernen...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden