#! /bin/bash

last -w | awk '{print $1}' | sort > /tmp/users	# Lista con los usuarios que se han 
						# logueado

TEMP=1
USER=""

for USUARIO in $(cat /tmp/users); do		# Algoritmo O(n) para obtener número de conexiones
						# (se requiere una lista ya ordenada)
	if [ "$USER" = "$USUARIO" ]; then
		TEMP=$((TEMP + 1));
	else
		echo "$TEMP	$USER" >> /tmp/t
		TEMP=1;
	fi
	USER=$USUARIO;
done

sort -rn /tmp/t > /tmp/users
rm /tmp/t

F_USER=$(cat /tmp/users | sed -n 1p | awk '{print $2}')
S_USER=$(cat /tmp/users | sed -n 2p | awk '{print $2}')
T_USER=$(cat /tmp/users | sed -n 3p | awk '{print $2}')

F_USER_F=$(cat /tmp/users | sed -n 1p | awk '{print $1}')
S_USER_F=$(cat /tmp/users | sed -n 2p | awk '{print $1}')
T_USER_F=$(cat /tmp/users | sed -n 3p | awk '{print $1}')

F_USER_R_NAME=$(finger $F_USER | sed -n 1p | awk -F ': ' '{print $3}')
S_USER_R_NAME=$(finger $S_USER | sed -n 1p | awk -F ': ' '{print $3}')
T_USER_R_NAME=$(finger $T_USER | sed -n 1p | awk -F ': ' '{print $3}')

echo "$F_USER_R_NAME, username: $F_USER, número de ingresos: $F_USER_F"
echo "$S_USER_R_NAME, username: $S_USER, número de ingresos: $S_USER_F"
echo "$T_USER_R_NAME, username: $T_USER, número de ingresos: $T_USER_F"

rm /tmp/users
