ユーザー名とグループ名とともにUNIXシステム上のすべてのユーザーを一覧表示するには?
/etc/passwd
レポートフォームファイルと/etc/group
ファイルを受け取りたいです。
/etc/group
passwdファイルではGIDSしか取得できませんが、以下のFotomatで言及したいレポートに表示されるグループ名も取得したいと思います。
ユーザー名(ユーザーID)、グループ名、
ベストアンサー1
シングルawk
注文する:
awk -F':' 'NR==FNR{ a[$3]=$1; next }{ print $1", "a[$4] }' /etc/group /etc/passwd
-F':'
- フィールド区切り記号NR==FNR{ a[$3]=$1; next }
- 最初の入力ファイル(例/etc/group
:)を処理します。a[$3]=$1
- キャプチャチーム名$1
使用グループ識別子$3
配列a
キーでnext
- 次のレコードに移動
{ print $1", "a[$4] }
- 2番目の入力ファイル(例/etc/passwd
:)の操作:$1
- 最初のフィールドは以下を示します。ユーザー名a[$4]
- 得るチーム名グループID別(フィールドとして表示$4
)