グループのユーザー数の計算

グループのユーザー数の計算

/etc/group ファイルがあります。形式は、「グループ名:パスワード:識別子:スペースで区切られたユーザーのリスト」です。ユーザー数が最も多いグループの名前を印刷するには?ありがとうございます。

答え1

getent group | awk -F '[,:]' '{ print $1, NF - 3 }' | sort -k2,2n

これにより、グループ名リストとグループメンバ数がグループメンバ数に合わせて出力されます。質問のテキストが間違っていて、パネリストのリストがコンマで区切られているとします。

この結果を分析して、グループのメンバーが最も多いグループを選択するのは簡単です。

getent groupファイルと同じ形式で現在のグループのリストを取得します/etc/group。このコマンドは、使用されている場合はNIS / YPやLDAPなどのディレクトリサービスも照会します。

このawkコードは、行をカンマまたはコロンに基づいてフィールドに分割し、最初のフィールド(グループ名)を印刷してから、合計フィールド数から3を引いた値(グループ名、パスワード、GIDフィールドを除いて3を引いた値)を印刷します。

sort2番目の列であるグループメンバーの数だけで数値ソートを実行します。

関連情報