Ответ 1
В Linux вы можете использовать getent (1):
$ getent group staff
staff:x:20:
Если вы хотите только 20:
$ getent group staff | cut -d: -f3
20
В OS X вы можете использовать dscl (1):
$ dscl . -read /Groups/staff | awk '($1 == "PrimaryGroupID:") { print $2 }'
20
Легче использовать эту простую команду python (используя grp library), чтобы иметь тот же результат на обеих платформах:
$ python -c 'import grp; print grp.getgrnam("staff").gr_gid'
20