如何在UNIX系统中列出所有用户及其用户名和组名?
我想获取报告表格/etc/passwd
文件和/etc/group
文件
在passwd文件中,我仅会获得GIDS,但我也想从中获得组名/etc/group
,它应该出现在一份报告中,就像我想在下面提到的Fotomat
用户neme(用户ID),组名,
使用单个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] }
-第二个输入文件的操作(即/etc/passwd
):
$1
-第一场;指示用户名a[$4]
-通过组ID获取组名(由field表示$4
)本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句