#! /bin/sh # wypisac podstawowe dane (Nazwisko, Imie: login) wlascicieli kont # z okreslonej grupy, ktorej nazwe symboliczna podajemy jako argument PROG=$(basename $0) if [ $# -ne 1 ] ; then echo "$PROG: wymaga dokladnie 1 argumentu (nazwy grupy)" exit 1 fi GID=$(getent group $1 | cut -d: -f3) if [ -z "$GID" ] ; then echo "$PROG: $1: nie ma takiej grupy" exit 2 fi getent passwd | \ gawk -F: -v gid="$GID" ' function sizeof(arr, k, i){ for (i in arr) k++; return k; } $4 == gid { login = $1; split($5, tmp, ","); split(tmp[1], tmp1, " "); nazwisko = tmp1[sizeof(tmp1)]; imie = tmp1[1]; printf "%s, %s: %s\n", nazwisko, imie, login; }' | sort exit 0 # warto by ewentualnie zabezpieczyc sie na okazje # nieoczekiwanej postaci zawartosci pola informacyjnego # w passwd (wielkie/male litery, mniej niz 2 slowa przed # ew. przecinkiem)