This behaviour is expected and described in the manual (albeit it
might be a good candidate for a FAQ) :

  https://www.gnu.org/software/grep/manual/grep.html#Usage

Even before grep gets to see the expression, the shell would try to
match it and expand it as needed, which is obviously not what you want
for your usecase and why it would be better if you quote it.

  time echo "axyz" | grep '[abcd]xyz'

should behave as you expect, regardless of what the current directory has.

Carlo



Reply via email to