[ALLroot]
соответствует A
или L
или r
или o
или t
.Используйте (ALL|root)
вместо
Дано:
cat sudo.txt
=(root)NOPASSWD:/usr/bin/vim
=(ALL)NOPASSWD:/usr/bin/vim
=NOPASSWD:/usr/bin/vim
=(user)NOPASSWD:/usr/bin/find
grep -E '=(\((root|ALL)\))?.*/usr/bin/vim' sudo.txt
=(root)NOPASSWD:/usr/bin/vim
=(ALL)NOPASSWD:/usr/bin/vim
=NOPASSWD:/usr/bin/vim
Объяснение:
опция -E
: расширенный шаблон
= # equal sign
( # start group
\( # opening parenthesis
(root|ALL) # root OR ALL
\) # closing parenthesis
)? # end group, optional
.* # 0 or more any character
/usr/bin/vim # literally