Bash Pagina 101
Sari la navigare
Sari la căutare
Exercițiu 2: Afișarea utilizatorilor cu UID mai mare de 499
- Fișier `users_uid.awk`:
BEGIN { FS=":"; print "Nume de utilizator" } $3 > 499 { print $1 } END { print "Total users =", NR }
Explicație:
- În acest exemplu, folosim un fișier `awk` (`users_uid.awk`) pentru a afișa utilizatorii din `/etc/passwd` cu un UID mai mare de 499:
- `BEGIN { FS=":"; print "Nume de utilizator" }` — Setează separatorul de câmpuri (`FS`) ca fiind `:` și afișează un antet „Nume de utilizator”.
- `$3 > 499 { print $1 }` — Afișează primul câmp (`$1`, numele de utilizator) doar pentru liniile unde al treilea câmp (`$3`, UID-ul) este mai mare de 499.
- `END { print "Total users =", NR }` — În blocul `END`, afișează numărul total de linii procesate (`NR`), care reprezintă numărul de utilizatori listați.
Comandă de rulare:
$ awk -f users_uid.awk /etc/passwd
Observații:
- FS — Setează separatorul de câmpuri la `:`, necesar pentru formatul fișierului `/etc/passwd`.
- NR — Este variabila internă care numără liniile procesate.
Acest exemplu utilizează `awk` pentru a filtra și afișa doar utilizatorii cu UID mai mare de 499, conform unui criteriu definit.