사용자 목록의 그룹 이름을 가져옵니다.

사용자 목록의 그룹 이름을 가져옵니다.

다음 형식의 사용자 목록이 포함된 텍스트 파일이 있습니다.

name1   
name2   
name3   
...

명령 그룹을 호출하면 사용자의 기본 그룹 이름이 제공됩니다. 전임자:

bash$ groups name1
name1: group_Name

텍스트 파일의 모든 사용자 그룹을 가져와 해당 그룹 목록을 새 텍스트 파일에 넣고 싶습니다.

이 명령어 아시는 분 계신가요? 아마도 스크립트는 이름이 있는 첫 번째 파일을 반복하고 각 이름에 대한 그룹을 호출한 다음 출력을 새 파일에 저장할 것입니다. 몇 가지 구체적인 세부정보에 대한 도움이 필요합니다.

답변1

groups각 항목을 호출하여 파일을 한 줄씩 읽습니다 .

while read name ; do groups "$name" ; done < list.txt > with_groups.txt

루프는 일반적으로 다음으로 대체될 수 있습니다 xargs.

xargs groups < list.txt > with_groups.txt

답변2

다음과 같은 것은 어떻습니까?

#!/bin/bash
while read ID
do 
    groups $ID
done < input.file |
awk '{print $3}' | sort | uniq > list_of_groups

이렇게 하면 고유한 그룹 이름이 사전순으로 정렬된 목록이 제공됩니다.

관련 정보