Добрый день, форумчане

Нужно сделать такую задачу:
имеется файл со списком юзеров в системе, типа
юзер1
юзер2
...
юзерN
задача такая, что нужно создать список, когда они последний раз заходили, читая лог.
Проще всего это сделать через скрипт, т.к. юзеров много, но вот сижу и ломаю голову как? Разобью попунктно:
1 - прочитать первую строку из файла
users2 - сделать поиск по выводу команды 1 по файлу
access3 - взять последнюю строку из найденного (т.к. найденного будет много)
4 - добавить эту строку в файл
out.users5 - далее читается вторая строка и выполняются задания 2, 3, 4, и так далее, пока файл
users не закончится.
Когда закончится, вывести к примеру
OK и прервать задачу.
1ую команду вижу так:
sed '1!D'
или
head -1 users |tail -1
2ую, 3ю и 4ую так:
grep -w 'вывод из 1ой команды' access |tail -1 >>out.users
Когда файл заканчивается, выполнить к примеру
echo OK
Но всего этого не достаточно, так как непонятно, как будет делаться цикл на следующую строку, порошу помочь
