$ for g in `cat /etc/group | awk -F: '{print $1}'`; do z=''; for u in `cat /etc/passwd | awk -F: '{print $1}'`; do z+=$(groups $u | grep -c $g) ; done ; echo "$g : $z" ; done
Спасибо за ответы. Как были правы, подкралась именно сессия. из 4-х задач не решил только эту.
и решить ее нужно именно на шеле без использования команды awk.
Причем задание немного изменилось...
Нужно отсортировать группы зарегистрированные в системе по числу пользователей , входящих в каждую из них, результат сортировки выдать на экран консоли.
Как это сделать?:)
то есть я использую этот код: без обрезки выходного отсортированного списка по tail:
cat /etc/group | awk -F: '{ print split($4,a,",") «\t» $1 }' | sort -n -k1
спасибо. это решение мне подходит:)
только уточненение. как написал в предыдующем посте, можно ли как-то заменить вывод команды awk (awk -F: '{ print split($4,a,",") «\t» $1 }') использованием других команд шела? просто интересно.. задача уже решена:)