egrep regexp Problem

tr0nix

tr0nix

der-mit-dem-tux-tanzt
Salute

Ich muss mit egrep etwas matchen lassen, was mit a oder f beginnt und anschliessend eine 6 stellige Zahl hat.

Bsp:
a378570

Die Regexp welche ich bisher habe ist folgende:
egrep '^(a|f)[0-9]+$'

Diese ist allerdings ziemlich ungenau. Aber diese hier geht nicht:
egrep '^(a|f)[0-9]{6}$'

Was ist daran falsch? {6} sollte doch bedeuten, dass sich [0-9] 6 mal matchen lassen sollte?!

Gruss & danke fuer Hilfe
Joel
 
Code:
^[af][0-9]{6,}

sollte machen was du willst...
 
Nein geht nicht. Das wuerde sowieso alles was min. 6 Zeichen hat nehmen.. {6,6} geht auch nicht...
 
Code:
egrep '^(a|f)[0-9]{6}$'

bei mir funktioniert das so.
 
warum geht mein code nicht? Natürlich geht der, zumindest bei mir ....

Code:
 ^[af]

Nimmt alles was mit a oder f anfängt

Code:
 [0-9]
alle zahlen zwischen 0 und 9

Code:
 {6,}

mindestens 6 Zahlen



oder verstehe ich was falsch?


meep: ok sorry, habs geblickt...
 
Zuletzt bearbeitet:
Also beim Solaris egrep geht das nicht...
Code:
a378570@se12do6% echo a378570 | egrep '^(a|f)[0-9]{6}$'
a378570@se12do6%

Aber Solaris ist hald auch nicht mit GNU-egrep...

Auf Linux gehts bei mir auch (habs nur nicht dort getestet)
Code:
a378570:bofh:~$ echo a378570 | egrep '^(a|f)[0-9]{6}$'
a378570

F*CK! Ich mach noch alles richtig und das ist der Dank :( scheiss Solaris grmpfl.. danke trotzdem...
 
Solltest dir was ordentliches zulegen %)

Wie wärs mit FreeBSD?
 
Naja, ich hab diese paar Sun E10k Server hier im Geschaeft nicht gekauft.
 
können die Server perl? Dann kannste

Code:
 perl -ne 'print if /^(a|f)[0-9]{6}$/;' file

machen
 
Zuletzt bearbeitet:
Mein Beitrag war leider total falsch :(
 
Zuletzt bearbeitet:

Ähnliche Themen

ip6tables Problem

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Per regexp oder so Functionsaufruf in files ändern (Strings austauschen)

Problem mit Apache2 + MySQL Server

Problem mit Squid-Proxy Transparent + ASA 5505

Zurück
Oben