Code: Alles auswählen
grep '^[0-9]\{3,6\}'
Code: Alles auswählen
egrep '^[0-9]{3,6}'
Hier gibt es auch sowas aus:
Code: Alles auswählen
11111111111Hier noch Text hinten dran
Code: Alles auswählen
grep '^[0-9]\{3,6\}'
Code: Alles auswählen
egrep '^[0-9]{3,6}'
Code: Alles auswählen
11111111111Hier noch Text hinten dran
Code: Alles auswählen
grep '^[0-9]\{3,6\}$'
egrep '^[0-9]{3,6}$'
Code: Alles auswählen
grep -o '^[0-9]\{3,6\}'
egrep -o '^[0-9]{3,6}'
Das müssen wir noch ewas präzisieren!fragenfrager hat geschrieben:Wie schaffe ich es nur Zeilen auszugeben die Ziffernfolgen einer bestimmten Länge, z.B. 3-6 Stellen, enthalten? Sonst nichts.
Code: Alles auswählen
123456
123
Code: Alles auswählen
1234567
123xyz
ab3456
Code: Alles auswählen
grep '^[0-9]\{3,6\}$'
Code: Alles auswählen
$ egrep '^[0-9]{3,6}([^0-9]|$)' <<EOF
> foo
> 1234567foo
> 1234
> 12
> 12345foo
> foo12345
> EOF
1234
12345foo
$
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Code: Alles auswählen
egrep '^[0-9]{3,6}[^0-9]' ZAHLEN
Code: Alles auswählen
1
12--hier beliebige Zeichen
123--hier beliebige Zeichen
1234--hier beliebige Zeichen
12345--hier beliebige Zeichen
hier beliebige Zeichen--1--hier wieder Zeichen
hier beliebige Zeichen--12--hier wieder Zeichen
hier beliebige Zeichen--123--hier wieder Zeichen
hier beliebige Zeichen--1234--hier wieder Zeichen
hier beliebige Zeichen--12345--hier wieder Zeichen
oder eben so wie hier, da sind sie halt am zeilenende1
oder eben so wie hier, da sind sie halt am zeilenende12
oder eben so wie hier, da sind sie halt am zeilenende123
oder eben so wie hier, da sind sie halt am zeilenende1234
oder eben so wie hier, da sind sie halt am zeilenende12345
Code: Alles auswählen
egrep '^[0-9]{3,4}([^0-9]|$)' ZAHLEN
123--hier beliebige Zeichen
1234--hier beliebige Zeichen
Code: Alles auswählen
egrep '.*[0-9]{3,4}$' ZAHLEN
oder eben so wie hier, da sind sie halt am zeilenende123
oder eben so wie hier, da sind sie halt am zeilenende1234
oder eben so wie hier, da sind sie halt am zeilenende12345
Code: Alles auswählen
egrep '.*[^0-9][0-9]{3,4}$' ZAHLEN
Ich komme jetzt etwas ins Schwimmen, aber soweit ich weiß brauchst du die Klammern damit die Alternative greift. Andernfalls würde die Pipe als Character Interpretiert.fragenfrager hat geschrieben:okay, das hatte ich versucht aber die runden Klammern fehlten mir, warum sind die notwendig? was ist anfalsch, wenn wir mal das Zeilenende außen vor lassen?Code: Alles auswählen
egrep '^[0-9]{3,6}[^0-9]' ZAHLEN
Dann brauchst du nach diesem Vorbildfragenfrager hat geschrieben:Jetzt fehlt mir nur noch das letzte Konstrukt für die Ziffern in der Mitte der Zeile
Code: Alles auswählen
egrep '.*[^0-9][0-9]{3,4}$' ZAHLEN
Code: Alles auswählen
egrep '.*[^0-9][0-9]{3,4}[^0-9]+$'
Code: Alles auswählen
egrep '[^0-9]+[0-9]{3,4}[^0-9]+$'
Code: Alles auswählen
egrep '(^[0-9]{3,4}([^0-9]|$)|.*[^0-9]([0-9]{3,4}$)|[^0-9]+[0-9]{3,4}[^0-9]+$)' ZAHLEN