는 나는 내가 루트를 표시해야 0
만약 내가 이름을 필요로 그 대신에, 단지 수를 표시 /proc/*/status
하지만grep을 사용하여 UID 정보를 추출하는 방법은 무엇입니까?
cat $i/status|grep "^Uid"|awk '{printf "%4s",$2}'
에서 사용자 이름을 얻을 필요가있다.
는 나는 내가 루트를 표시해야 0
만약 내가 이름을 필요로 그 대신에, 단지 수를 표시 /proc/*/status
하지만grep을 사용하여 UID 정보를 추출하는 방법은 무엇입니까?
cat $i/status|grep "^Uid"|awk '{printf "%4s",$2}'
에서 사용자 이름을 얻을 필요가있다.
당신은 거의있다. 사용자 이름에 UID를 해결하기위한 getent
를 사용
getent passwd `grep "^Uid" /proc/$i/status |awk '{printf "%4s",$2}'`| cut -d: -f1
$ awk 'NR==FNR {uid[$3]=$1; next} /^Uid:/ {print uid[$2]}' FS=":" /etc/passwd FS="[ \t]+" /proc/1665/status
root
는 설명 :
NR==FNR { # /etc/passwd
uid[$3]=$1 # an array with key=uid, value=username
next
}
/^Uid:/ { # /proc/.../status record startin with Uid
print uid[$2] # print username from array where uid matches
}
고맙지 만 숫자도 인쇄됩니다. 사용자 이름을 인쇄하려면 어떻게해야합니까? –
은 사용자 이름 만 인쇄합니다. – Misko