Muro_like
19-11-2012, 16:41
Здравствуйте, задача заключается в том, что необходимо определить кто из пользователей сидел больше всего времени в сети. В скрипт передается значения дня (Сегодня, вчера или позавчера). Проблема в правильной вырезки и проверки значений. У меня получилось сделать раскидывания с параметрами, застрял на самом тупом. Не могу понять каким образом можно правильно вырезать значения длительности сессии и при этом сохранить имя пользователя.
Как я делаю и думаю:
last -s | grep "`date `" | cut -c 1-15,74-81 | tr -d "[(,)]" | tr -s " "
Вызвал last, нашел те значения которые по дате совпадают, вырезал из-них имя пользователя и длительность сессии и удалил лишние символы, хотя еще пробелы можно удалить чтобы чище было и ровнее, но при таких операции cut можно случайно либо подхватить какие-то левые части, либо не до хватить время. Если забить конечно же на ранее того что плохо режим, то в результате у нас получаются 2 колонки в одной имя в другой длительность сессии, как можно взять отдельно часть имя в одну переменную и в другую часть длительность?.
Все под freebsd.
Как я делаю и думаю:
last -s | grep "`date `" | cut -c 1-15,74-81 | tr -d "[(,)]" | tr -s " "
Вызвал last, нашел те значения которые по дате совпадают, вырезал из-них имя пользователя и длительность сессии и удалил лишние символы, хотя еще пробелы можно удалить чтобы чище было и ровнее, но при таких операции cut можно случайно либо подхватить какие-то левые части, либо не до хватить время. Если забить конечно же на ранее того что плохо режим, то в результате у нас получаются 2 колонки в одной имя в другой длительность сессии, как можно взять отдельно часть имя в одну переменную и в другую часть длительность?.
Все под freebsd.