2013-11-28 37 views
9

如何为所有用户从/ etc/passwd中写为Linux至极列表中的脚本和他们的UIDLinux的 - 如何列出所有用户

User1 uid=0001 
User2 uid=0002 

...

脚本建议立即进行删除使用:grep的,切,ID,为

+11

这真的不是一个功课平台。 – SBI

回答

29
awk -F: '$0=$1 " uid="$3' /etc/passwd 

awk在这种情况下更容易。

-F定义字段分隔为:

所以你想要的是第1和第3 colums。所以建立$0来提供你的输出格式。

这是awk的强大基本用法。如果您经常遇到这种问题,您可能需要阅读一些教程。

这次你有鱼,如果我是你,我会去做一些关于如何钓鱼的研究。

+3

+1对于学习如何钓鱼的建议 – Will

8

cut是这个漂亮:

cut -d: -f1 /etc/passwd 

这意味着“切,使用:作为分隔符,一切,除了从/etc/passwd文件的每一行的第一个字段”。

2

我认为最好的办法是为:
grep "/bin/bash" /etc/passwd | cut -d':' -f1

+1

这个答案是我正在寻找的。它使用户可以使用GUI登录:) –

0
awk -F':' '$3>999 {print $1 " uid: " $3}' /etc/passwd | column -t | grep -v nobody 

给你所有普通用户(UID> = 1000)整齐有序,包括用户ID。

相关问题