Каков идентификатор группы этого имени группы?

Как получить идентификатор группы GID, дающий название группы.

Результатом будет, например,:

Group adm with GID=4

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок

Используйте getent команда для обработки групп и информации о пользователях вместо чтения вручную /etc/passwd, /etc/groups и т.д. Сама система использует /etc/nsswitch.conf чтобы решить, откуда он получает свою информацию, и настройки в файлах могут быть переопределены другими источниками. getent подчиняется этой конфигурации. getent печатает данные, независимо от источника, в том же формате, что и файлы, поэтому затем вы можете анализировать выходные данные так же, как вы бы анализировали /etc/passwd:

getent group sudo | awk -F: '{printf "Group %s with GID=%d\n", $1, $3}'

Обратите внимание, что для имени пользователя это намного проще. Воспользуйся id:

$ id -u lightdm105

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок

Это можно просто сделать с помощью cut:

$ cut -d: -f3 < <(getent group sudo)27

getent group sudo получит строку относительно sudo группа из /etc/group файл :

$ getent group sudosudo:x:27:foobar

Тогда мы можем просто взять третье поле, разделенное :.

Если вам нужна соответствующая строка вывода, используйте подстановку команд внутри echo:

$ echo "Group sudo with GID="$(cut -d: -f3 < <(getent group sudo))""Group sudo with GID=27

Хак для необходимого: (все же, возможно, есть гораздо лучший ответ)

awk -F\: '{print "Group " $1 " with GID=" $3}' /etc/group | grep "group-name"

Более простая версия (благодаря @A.B):

awk -F\: '/sudo/ {print "Group " $1 " with GID=" $3}' /etc/group 

Пример:

$ awk -F\: '{print "Group " $1 " with GID=" $3}' /etc/group | grep sudo Group sudo with GID=27

более сложные ответы всегда приветствуются - я многому учусь, читая их совершенно честно.

Я наткнулся на эту страницу, потому что искал идентификатор группы моей почтовой группы и не знал, где хранится эта информация.

ваши ответы великолепны - вот простой ответ, который я придумал

def@fourof4:/home $ cat /etc/group | grep mail

почта:x:8:

Я знаю, что это не сортирует идентификатор, но это послужило моей цели.

Blockquote Попробуйте это: awk -F: '/sudo/ {print "Group " $1 " with GID=" $3}' /etc/group – A.B. 23 '15 июня в 15:51 Blockquote

я вижу, что это также упоминается помимо того, что я процитировал .... все получают мою любовь - извините, если я скучал по вам

это то, что привело меня к этому файлу.
Спасибо и продолжайте кормить меня превосходно в любой форме, какую пожелаете!def

С помощью perl однострочный:

% perl -ne '@elements=(split /:/); printf "Group %s with GID=%s\n",$elements[0],$elements[2]' <<< $(getent group sudo)Group sudo with GID=27

или короче (и лучше)

% perl -F/:/ -ane 'printf "Group %s with GID=%s\n",$F[0],$F[2]' <<< $(getent group sudo)Group sudo with GID=27

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок