ユーザーリストのグループ名を取得します。

ユーザーリストのグループ名を取得します。

次の形式のユーザーのリストを含むテキストファイルがあります。

name1   
name2   
name3   
...

コマンドグループを呼び出すと、ユーザーのデフォルトグループ名が提供されます。前任者:

bash$ groups name1
name1: group_Name

テキストファイル内のすべてのユーザーグループをインポートし、そのグループのリストを新しいテキストファイルに入れたいと思います。

この命令をご存知ですか?おそらく、スクリプトは名前の最初のファイルを繰り返し、各名前のグループを呼び出して、出力を新しいファイルに保存します。いくつかの具体的な詳細についての助けが必要です。

答え1

groups各項目を呼び出してファイルを1行ずつ読みます。

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

これにより、一意のグループ名がアルファベット順に並べられたリストが提供されます。

関連情報