Раскрытие фигурных скобок — фича шелла, от версии grep не зависит; пробел после запятой в такой конструкции не нужен и вреден.
BTW, УМВР:
┌[ dexpl@shellvm:/tmp/tmp.VwdCa35MtD 14:56:26 ]
└► grep --version ; cat /etc/centos-release
grep (GNU grep) 2.20
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
CentOS Linux release 7.5.1804 (Core)
┌[ dexpl@shellvm:/tmp/tmp.VwdCa35MtD 14:56:08 ]
└► mkdir {1..3}
┌[ dexpl@shellvm:/tmp/tmp.VwdCa35MtD 14:56:13 ]
└► echo test | tee -a {1..3}/test
test
┌[ dexpl@shellvm:/tmp/tmp.VwdCa35MtD 14:56:20 ]
└► grep -R --exclude-dir={1,2} -e test .
./3/test:test
Удалить его как пакет вам не удастся, потому как он является зависимостью для других системных пакетов и как следствие его удаление потянет удаление почти всей системы.
Вы можете только собрать grep из исходников и заменить собранным вами grep бинарник grep в вашей системе.
Но в целом практика ручной замены файлов в системе в бинарном дистрибутиве, да и в любом другом неправильная.
В идеале вам нужно разобраться как собрать rpm пакет с grep нужной вам версии, если вы не можете найти готовый rpm пакет, и установить его в систему.
Собрать пакет с альтернативными путём (/usr/local, /opt) и поставить, при необходимости добавить путь до него в PATH (в начало PATH, естественно). В таком варианте поломать систему трудно.
Но, кстати, если дело именно в --exclude, я бы с этим сначала поразбирался — может, дело таки в передаче параметров (--exclude={dir1,dir2} vs --exclude=dir1 --exclude=dir2 и т. д.).
Ну да, если задавать исключения в таком виде --exclude=dir1 --exclude=dir2, то работает вроде как стабильно, а в фигурных скобках через раз почему-то. Собственно говоря, поэтому я и озадачился обновлением.