Package: grep
Version: 3.8-5

PATH_TEST="../../dir/dir/dir/dir/@#$%^&*()-_=+\\|;:'\",<.>/?/";
echo "$PATH_TEST" | grep 
"^\.\?\.\?\([a-zA-Z0-9@#$%^&*()-_=+\|;:'",<>/?]\+\)\+/\?$";

. is not within the character set portion of the match specification provided 
to grep.
../../ is matched; I expect it to match only '../', therefore no match for the 
line.
. is also matched in the ,<.> portion toward the end of the path.

SOURCE="[[]]";
echo "$SOURCE" | grep "[[]]\+"

The very first [ is not matched in this string.
grep "[\[\]]\+" does not match it either.

Regards,
sunny

  • Bug#1106335: grep: non-sensical matches - "over-matching&qu... Sunny73Cr

Reply via email to