2010-10-31 26 views

回答

6
cat /etc/passwd | awk -F: '{print $3,$1}' | sort -n | tail -n 1 
+0

你也可以用'cut'替代'awk':'cat/etc/passwd | cut -d「:」-f3 | sort -n | tail -n 1' – Nasir 2010-10-31 23:31:15

+0

@nsr:雖然不會打印用戶名。 – sepp2k 2010-10-31 23:49:51

+0

非常感謝所有的答案和評論,他們非常有幫助 – HelloWorld 2010-11-01 06:58:06

2

/etc/passwd包含由冒號分隔的用戶信息。用戶標識位於第三列。可以使用sort命令行工具對文件的行進行排序。它有多個選項,用於選擇要將列分隔的分隔符,要排序的列以及是按數字還是按字母順序排序。

因此,您可以使用sort按用戶ID對/etc/passwd進行排序,然後使用tail獲取最後一行,其中包含具有最高ID的用戶。

3

,而不是讀/etc/passwd,這將是更好,因爲你可以使用通過nsswitch的的UID,如LDAP的另一個來源,從

getent passwd 

得到的輸出。

0
getent passwd | awk -F : '$3>h{h=$3;u=$1}END{print h " " u}' 
相關問題