grep nummer mit bindestrich

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von SR166, 11.07.2009.

  1. SR166

    SR166 Grünschnabel

    Dabei seit:
    09.01.2009
    Beiträge:
    9
    Zustimmungen:
    0
    Hallo ich habe ein script mit dem ich immer die aktuellen call by call nummern auf einer homepage suche
    Bisher waren die nummern immer normal, also 01010 oder so.
    diese hab ich dann mit

    grep -Eo '[[:digit:]]{4,8}'

    ausgelesen

    Nun ist aber eine Nummer im Format 0900-50 dabei. Das Ergebnis mit grep ist dann aber nur 0900

    wie kann ich diese nummer nun richtig auslesen und den Bindestrich entfernen?

    Vielen Dank im Voraus.
    Frank
     
  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 bytepool, 11.07.2009
    Zuletzt bearbeitet: 11.07.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    du solltest fuer code immer code tags verwenden, sonst passiert so ein smiley Mist... Und ich wunder mich die ganze Zeit wieso du code postest der nicht funktioniert. ;p

    Also, wie du das mit den Bindestrichen machst, haengt davon ab was denn alles genau moeglich ist. Das hier waere z.B. eine Moeglichkeit:
    Code:
    grep -Eo '[[:digit:]]{4,8}-?[[:digit:]]*' numbers.txt | sed s/-//g                       
    
    Ich denke was da passiert ist klar, nach deinem urspruenglichen Muster wird auf einen moeglichen Bindestricht getestet, und dann duerfen nochmal beliebig viele Nummern kommen. Das ist wahrscheinlich noch nicht ganz das was du suchst, aber das duerfte ja recht leicht anzupassen sein

    Der sed Ausdruck sorgt dafuer dass die Bindestriche entfernt werden.

    Edit:
    Ich habe grade gesehen, dass meine erste Erklaerung fehlerhaft war, habe sie jetzt korrigiert. Wahrscheinlich macht es mehr Sinn, die Anzahl der hinteren Zahlen zu begrenzen, ansonsten erlaubst du beliebig lange Zahlenfolgen, was du ja scheinbar nicht willst.

    mfg,
    bytepool
     
  4. SR166

    SR166 Grünschnabel

    Dabei seit:
    09.01.2009
    Beiträge:
    9
    Zustimmungen:
    0
    Hi bytepool,
    danke für Deine schnelle Antwort.

    Also das Problem ist, dass die Nummer entweder
    so: 010200
    oder
    so: 01020
    oder
    so 0900-50 erscheinen kann.

    ich müsste also mehrere formate auslesen können und hinterher per sed den bindestrich entfernen.
    Wie kann ich das bewerkstelligen?

    Danke

    Frank
     
  5. #4 bytepool, 11.07.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,
    hatte ich das nicht schon geschrieben? Wenn das "oder-Zeichen" das Problem ist, das ist die Pipe |. Z.B.
    Code:
    $ echo abcd | egrep -o '1|abc'
    abc
    
    Sucht nach 1 oder abc.

    mfg,
    bytepool
     
  6. SR166

    SR166 Grünschnabel

    Dabei seit:
    09.01.2009
    Beiträge:
    9
    Zustimmungen:
    0
    Super
    danke jetzt funktionierts wieder.
    :bounce:
     
Thema:

grep nummer mit bindestrich

Die Seite wird geladen...

grep nummer mit bindestrich - Ähnliche Themen

  1. Inhalte mit grep mit Nummer in File schreiben

    Inhalte mit grep mit Nummer in File schreiben: Hi Zusammen, habe eine Datei Names file.txt. INHALT (file.txt) ---------- Dies ist ein Test. Das ist schön. Dieser Test ist super....
  2. Kurztipp: Unerwünschte grep-Ausgaben vermeiden

    Kurztipp: Unerwünschte grep-Ausgaben vermeiden: Selbst aus altbekannten Programmen kann man oft noch einiges mehr herausholen - man muss sich nur einmal gründlich mit ihnen auseinandersetzen....
  3. GNU Grep 2.19 freigegeben

    GNU Grep 2.19 freigegeben: Von dem Textsuchprogramm GNU Grep ist jetzt Version 2.19 erschienen, die um durchschnittlich zehn Prozent schneller als die Vorgängerversion...
  4. KWin 4.90.1 wartet auf Bugreports

    KWin 4.90.1 wartet auf Bugreports: Martin Gräßlin, Maintainer des KDE-Fenstermanagers, hat den Code für KWin/5 als für gut genug befunden, um ihn im erweiterten Kreis testen zu...
  5. grep Ausgabe an ls übergeben

    grep Ausgabe an ls übergeben: Kann ich die Ausgabe von grep (es sind dateinamen des lokalen verzeichnisses) irgendwie gleich weiterpipen zu ls? Also so das ich zu den...