Строка в скобках - это продолжительность сеанса. Как вы заметили, время - это разница между временем окончания и началом. 2+ - это количество дней, как хоп отметил .
В какой-то момент этот вопрос, вероятно, следует перенести на Отказ сервера, поскольку он, скорее всего, будет интересен системным администраторам.
Это довольно читаемый формат, когда вы знаете, на что смотрите. Если бы я проектировал выходные данные, я бы сделал необязательным день недели и вместо этого поместил бы всю конечную дату в строку. Еще лучше было бы позволить настраивать штамп даты. Таким образом, вывод может быть более легко использован другой программой.
Фактическая продолжительность, если пользователь вышел из сеанса, довольно легко определить с помощью регулярного выражения:
$ last | perl -lne 'print "$2 days, $3 hours, $4 minutes" if /\(((\d+)\+)(\d{2}):(\d{2})\)$/'
17 days, 05 hours, 23 minutes
3 days, 23 hours, 16 minutes
14 days, 06 hours, 09 minutes
23 days, 04 hours, 54 minutes
16 days, 06 hours, 57 minutes
...