Linux
從 /etc/passwd 獲取 UID >= 1000 的使用者
我正在嘗試使用循環從
/etc/passwd
UID 等於/大於 1000獲取使用者名。for
下面的簡單bash
腳本有效,但由於某種原因列印了兩次使用者名。#!/bin/bash for userid in `awk -F: '{print $3}' /etc/passwd` do if (("$userid" >= 1000)); then echo "Valid User" :`cat /etc/passwd | grep $userid | awk -F: '{print $1,$3}'` fi done
試試這個,
awk -F ':' '$3>=1000 {print "Valid User :"$1","$3}' /etc/passwd
也許你可能有像 1000 和 10001 這樣的使用者 ID。所以你的 grep 在 for 循環中迭代時會導致重複。
試試看
echo "Valid User" :`cat /etc/passwd | grep ":$userid:" | awk -F: '{print $1,$3}'`