답변:
사용 getent
하는 대신 수동으로 읽는, 처리 그룹 및 사용자 정보에 대한 명령을 /etc/passwd
, /etc/groups
등 자신이 사용하는 시스템 /etc/nsswitch.conf
이로부터 정보를 가져옵니다, 그리고 파일의 설정이 다른 소스 오버라이드 (override) 할 수있는 위치를 결정합니다. getent
이 구성을 따릅니다. getent
소스와 상관없이 파일과 동일한 형식으로 데이터를 인쇄하므로 구문 분석과 동일한 방식으로 출력을 구문 분석 할 수 있습니다 /etc/passwd
.
getent group sudo | awk -F: '{printf "Group %s with GID=%d\n", $1, $3}'
사용자 이름의 경우 훨씬 더 쉽습니다. 사용 id
:
$ id -u lightdm
105
이 작업은 cut
다음 과 같이 간단하게 수행 할 수 있습니다 .
$ cut -d: -f3 < <(getent group sudo)
27
getent group sudo
파일 sudo
에서 그룹 에 관한 줄을 얻습니다 /etc/group
.
$ getent group sudo
sudo:x:27:foobar
그런 다음 세 번째 필드를로 구분할 수 있습니다 :
.
그에 따라 출력 문자열을 원하면 다음에서 명령 대체를 사용하십시오 echo
.
$ echo "Group sudo with GID="$(cut -d: -f3 < <(getent group sudo))""
Group sudo with GID=27
% echo "Group cdrom with GID="$(cut -d: -f3 < <(getent group sudo))"" Group cdrom with GID=27
좀 더 일반적인 =)하시기 바랍니다
GID="$(getent group cdrom | cut -d: -f3)"
?
더 복잡한 답변은 항상 높이 평가됩니다. 나는 정직하게 읽는 것으로 많은 것을 배웁니다.
메일 그룹의 그룹 ID를 찾고 해당 정보가 저장된 위치를 알지 못했기 때문에이 페이지를 방문했습니다.
당신의 대답은 훌륭합니다-여기에 내가 생각해 낸 간단한 것이 있습니다.
def @ fourof4 : / home $ 고양이 / etc / group | grep mail
메일 : x : 8 :
ID가 정렬되지는 않지만 내 목적에 도움이된다는 것을 알고 있습니다.
Blockquote 이것을보십시오 : awk -F : '/ sudo / {GID = "$ 3}와 함께"그룹 "$ 1"인쇄 "/ etc / group – AB Jun 23 '15 at 15:51 Blockquote
나는 내가 인용 한 것 외에 이것이 언급 된 것을 봅니다 .... 모두가 내 사랑을 얻습니다-내가 당신을 그리워하면 미안합니다.
이것이 그 파일로 안내했습니다.
감사합니다 당신이 원하는 어떤 형태로 나에게 계속 먹이를! 데프
사용 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
-F
또는 -l
옵션이 그렇게 한다고 생각합니다 .
필요한 해킹 : (아마도 더 나은 답변이있을 수 있습니다)
awk -F\: '{print "Group " $1 " with GID=" $3}' /etc/group | grep "group-name"
더 간단한 버전 (@AB에게 감사) :
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
awk -F\: '/sudo/ {print "Group " $1 " with GID=" $3}' /etc/group
awk
보다 짧다perl
)