home Mail List
Info
Info
Meetings
Goals
Upcoming
Projects
FAQ
Security
Links

[Date Prev][Date Next] [Chronological] [Thread] [Top]

[NMLUG] grep help



Ed Heron wrote:
>  I'm writing a bash script that needs to check if a particular person is 
> in a specific group.
> 
>  I'm using:
> 
> if grep "^${group}:.*[:,]${user}[,$]" /etc/group >/dev/null ; then echo 
> "${user} is a member of ${group}" ; fi
> 
>  Unfortunately, if $user is last in the list it appears to be false.  If 
> I `grep "^${group}:.*[:,]${user}$" /etc/group` it succeeds.
> 
>  I don't use many regexp, am I missing something?

Looks like the square brackets are breaking '$' as a metacharacter. I 
used alternation instead, and got success:


for group in audio video; do for user in bigpig yvonne; do if \
grep "^$group:.*[:,]$user\(,\|$\)" /etc/group >/dev/null ; then echo \
"${user} is a member of ${group}" ; fi; done; done


Jody
-- 
http://www.RealizationSystems.com/ -- start communicating
http://www.GalacticSlacker.com/ -- read it and weep
http://www.NMPerspective.com/ -- a Southwest Perspective



Please send sugestions and comments to webmaster@nmlug.org.
Valid XHTML 1.1! Valid CSS! Powered by Debian Powered by Apache