Ich versuche, für jeden String grep, die die folgenden Spiele:GNU regex in grep verschiedenen Arbeits auf RedHat vs Windows-
AAA-###
Wo ein jeder Alpha-Zeichen, und es kann von 2 bis 5 von ihnen sein .
# ist eine Ziffer, und es könnte 1 oder mehr von ihnen geben.
die folgenden Zeichenfolgen sollten also finden:
ABC-123
DE-4
FGHI-56789
Aber diese nicht gefunden werden sollte:
A15-B432
ich ein paar verschiedene Dinge ausprobiert, wie folgt aus:
grep [[:alpha:]]\{2,5\}-[[:digit:]]\+
Das hat jedoch nicht funktioniert.
Dies ist Gnu Grep auf redhat. In meinem Test, mit Grep auf meiner Windows-Maschine, die auch Gnu Grep verwendet, funktionierte dies. Beide scheinen Version 2.5.1 zu sein.
Ihre beiden Beispiele funktionierten perfekt. – jgritty
Kein Problem - normalerweise gibt es einen 'egrep' Befehl, der mit 'grep -E' identisch ist. –