Why can't I match the string
"1234567-1234567890"
with the given regular expression
\d{7}-\d{10}
with egrep
from the shell like this:
egrep \d{7}-\d{10} file
?
Why can't I match the string
"1234567-1234567890"
with the given regular expression
\d{7}-\d{10}
with egrep
from the shell like this:
egrep \d{7}-\d{10} file
?
egrep
doesn't recognize \d
shorthand for digit character class, so you need to use e.g. [0-9]
.
Moreover, while it's not absolutely necessary in this case, it's good habit to quote the regex to prevent misinterpretation by the shell. Thus, something like this should work:
egrep '[0-9]{7}-[0-9]{10}' file
grep
, ed
, sed
, egrep
, awk
, emacs
grep
vs egrep
vs other regex flavors