Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » [решено] Скрипт: найти пользователя просидевшего больше всего времени.

Ответить
Настройки темы
[решено] Скрипт: найти пользователя просидевшего больше всего времени.

Новый участник


Сообщения: 7
Благодарности: 1

Профиль | Отправить PM | Цитировать


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

Отправлено: 16:41, 19-11-2012

 

Ветеран


Сообщения: 2029
Благодарности: 704

Профиль | Отправить PM | Цитировать


Вырезать лучше не cut'ом, а awk '{print $1}'. Но лучше всего было бы, если бы Вы поместили кусок вывода last (я уже не помню совпадает ли он в выводом last в Linux, но ключа -s в Linux точно нет) и желаемый образец вывода сценария.

-------
Господа! Убедительная просьба не обращаться за консультациями в ЛС. Поверьте, создать ветку в соответствующем разделе форума гораздо эффективнее.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:12, 19-11-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 7
Благодарности: 1

Профиль | Отправить PM | Цитировать


Сделал скрипт, тему можно удалить.

Отправлено: 00:29, 20-11-2012 | #3


Забанен


Сообщения: 158
Благодарности: 58

Профиль | Цитировать


Цитата Muro_like:
Сделал скрипт, тему можно удалить. »
Вот что вы за люди? Как решил , так сразу: "Решил проблему, тему можете удалить". А другим не надо? Поделились бы скриптиком. Может кому ещё пригодилось бы! И нажали б "Решено".
Это не чат а форум. Muro_like, В следующий раз пользуйтесь каким нибудь чатом, там сообщения не сохраняются.

Отправлено: 03:53, 20-11-2012 | #4


Новый участник


Сообщения: 7
Благодарности: 1

Профиль | Отправить 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.net » Linux и FreeBSD » Программирование в *nix » [решено] Скрипт: найти пользователя просидевшего больше всего времени.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Исследование: где работается хуже всего, и какая ИТ компания платит больше всех? 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




 
Переход