|
Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » [решено] Скрипт: найти пользователя просидевшего больше всего времени. |
|
[решено] Скрипт: найти пользователя просидевшего больше всего времени.
|
Новый участник Сообщения: 7 |
Профиль | Отправить PM | Цитировать Здравствуйте, задача заключается в том, что необходимо определить кто из пользователей сидел больше всего времени в сети. В скрипт передается значения дня (Сегодня, вчера или позавчера). Проблема в правильной вырезки и проверки значений. У меня получилось сделать раскидывания с параметрами, застрял на самом тупом. Не могу понять каким образом можно правильно вырезать значения длительности сессии и при этом сохранить имя пользователя.
Как я делаю и думаю: Вызвал last, нашел те значения которые по дате совпадают, вырезал из-них имя пользователя и длительность сессии и удалил лишние символы, хотя еще пробелы можно удалить чтобы чище было и ровнее, но при таких операции cut можно случайно либо подхватить какие-то левые части, либо не до хватить время. Если забить конечно же на ранее того что плохо режим, то в результате у нас получаются 2 колонки в одной имя в другой длительность сессии, как можно взять отдельно часть имя в одну переменную и в другую часть длительность?. Все под freebsd. |
|
Отправлено: 16:41, 19-11-2012 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать Вырезать лучше не cut'ом, а awk '{print $1}'. Но лучше всего было бы, если бы Вы поместили кусок вывода last (я уже не помню совпадает ли он в выводом last в Linux, но ключа -s в Linux точно нет) и желаемый образец вывода сценария.
|
------- Отправлено: 21:12, 19-11-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Сделал скрипт, тему можно удалить.
|
Отправлено: 00:29, 20-11-2012 | #3 |
Забанен Сообщения: 158
|
Цитата Muro_like:
Это не чат а форум. Muro_like, В следующий раз пользуйтесь каким нибудь чатом, там сообщения не сохраняются. |
|
Отправлено: 03:53, 20-11-2012 | #4 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать if [ $1 ] #проверка на аргумент then if [ $1 = "Today" ] #если сегодня выбрали then last -s | grep "`date`" | cut -c 1-15,74-81 | tr -d "[(,)]" >>UserTime uName="f" uTime="0" cat UserTime | while read line #line Будет переменной в которой сохраняются строка do tUser=`echo $line | awk '{print $1}'` if(( $uTime < $tUser )) 2>null then uTime=$tUser # или обнулением и заносим uName=`echo $list | awk '{print $1}'` fi done rm UserTime echo $uName elif [ $1="Yesterday"] ... elif [ $1="DayBeforeOne"] ... fi fi |
|
Отправлено: 15:29, 20-11-2012 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Исследование: где работается хуже всего, и какая ИТ компания платит больше всех? | OSZone News | Новости информационных технологий | 0 | 10-06-2011 06:30 | |
Службы - Служба звука потребляет больше всего пямяти в системе. | -LVS- | Microsoft Windows 7 | 4 | 22-03-2011 15:05 | |
Японцы имеют меньше всего друзей в социальных сетях, малайцы - больше всего | OSZone News | Новости информационных технологий | 0 | 11-10-2010 11:30 | |
[решено] Процессы используют больше процессорного времени. | ipavels | Microsoft Windows NT/2000/2003 | 9 | 23-03-2010 19:27 | |
Какой и з модераторов, админов вам импонирует больше всего | Ronald | О сайте и форуме | 11 | 29-04-2003 19:13 |
|