首页 > 解决方案 > 使用 awk 按命令/shell(/etc/passwd 的最后一个元素)对用户进行分组

问题描述

使用 awk 我想要这样的东西:

bin/bash: user1, user2
another shell path: user3, user4

等,直到显示所有路径和用户

我只知道如何使用“seen”从 /etc/passwd 获取所有 shell:

awk -F: '(!seen[$7]++){print $7}' /etc/passwd  

有谁知道如何做到这一点?

标签: bashsortingawk

解决方案


You may use this awk:

awk -F: 'NF>5{a[$NF] = ($NF in a ? a[$NF] ", " : "") $1}
END{for (i in a) print i ":", a[i]}' /etc/passwd

推荐阅读