Portál AbcLinuxu, 13. května 2025 22:06
PROMENNA=$(grep ':x:[[:digit:]]*:' /etc/passwd | cut -d: -f3)
to mi ulozi do PROMENNA napr. 0 23 344 65534 1000 jak zjistim nejvyssi cislo z teto promenne?Nebo da se zjistit nejvyssi UID jinym, jednodussim zpusobem?
getent passwd | awk -F: '{print $3;}' | sort -n | tail -1
awk
, tak by bylo lepší to udělat přímo v něm:
awk -F: 'BEGIN { m = 0; } { if ($3 > m) m = $3; } END { printf("%d\n", m); }' /etc/passwdAle asi by bylo vhodné ošetřit uživatele
nobody
, který mívá něco jako 65534.
getent passwd | awk -F: '{print $3;}' | sort -n | tail -2
, ale to samozrejme vypisuje posledni 2 hodnoty. Jak tedy vytahnu napr. 2 nejvyssi, nebo 4 nejmensi (to bude asi parametr head), atd?Jeste jednou diky za radau!
| head -1
'?
head
i tail
použití parametru -1
nedoporučují:
finn ~ # less /etc/ntp.conf | head -1
head: `-1' option is obsolete; use `-n 1' since this will be removed in the future
server clock1.zcu.cz
Dekuju
... | tail -n 2 | head -n 1
getent passwd | cut -d: -f3 | sort -nr | sed -n 2p
#!/usr/bin/env python import pwd max = 0 for item in pwd.getpwall(): if item.pw_uid > max: max_uid = item.pw_uid user = item.pw_name print "Nejvyssi UID je %d a ma ho uzivatel %s" %(max_uid, user)
#!/usr/bin/env python import pwd print max ([x.pw_uid for x in pwd.getpwall()])
perl -e 'while(defined ($_ = (getpwent)[2])){push @a, $_}print((sort{$b<=>$a}@a)[1])'
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.