Форум программистов, компьютерный форум, киберфорум
Наши страницы
FreeBSD
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
MuroLike
2 / 2 / 0
Регистрация: 24.04.2012
Сообщений: 14
#1

Скрипт: найти пользователя просидевшего больше всего времени

19.11.2012, 12:36. Просмотров 569. Ответов 1
Метки нет (Все метки)

Необходим написать скрипт, который будет выводить имя пользователя, который провел самое долгое время в системе.
В Скрипт передается одно из 3 значений (Сегодня, вчера или позавчера). Относительно этого значения ищется пользователь. Получилось сделать проверку на аргументы и выборку, самое легкое, так же смог сделать так чтобы выводились лишь те значения за определенный день. Как можно сделать так, чтобы вырезались лишь та часть с длительностью времени и сверялась с другими?.(Проблема с правильной вырезкой). все под Freebsd.
Bash
1
2
3
4
if [ $1 ]
then if [ $1 == 'Today'] then i=`last -s`| grep "`date`"  echo $i
fi
fi
Добавлено через 22 минуты
Пока ждал ответа решил проблему с вырезанием, исправил теперь вот что написал.
last -s | grep "`date`" | cut -c 1-15,74-81 | tr -d "[(,)]" вырезает имена и длительность теперь как строку и сравнивать с другими.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 12:36
Ответы с готовыми решениями:

Найти раздел, в котором больше всего книг
program svet_menu; uses crt; var c:char; g:integer; procedure...

Найти больше всего совпадений в тексте (строке)
Привет Всем. Помогите решить вопрос. Буду очень благодарен. Есть некоторый...

Файлы. Найти раздел, в котором больше всего книг
Вот часть программыprocedure z2; begin clrscr; textcolor(7); ...

Найти в матрице строку в которой больше всего нулей
дан двумерный массив.найти в матрице строку в которой больше всего нулей!!!Надо...

Найти слово в файле, в котором больше всего гласных
В текстовом файле дан какой-либо текст, найти слово, в котором больше всего...

1
accept
4833 / 3255 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
20.11.2012, 02:58 #2
Bash
1
last | sed -n '/(.\{5\})/ s/\([^[:space:]]*\).*(\(.*\))/\1 \2/p'
Код
[guest@localhost ~]$ last | sed -n '/(.\{5\})/ s/\([^[:space:]]*\).*(\(.*\))/\1 \2/p' | head
guest1 00:01    
root 00:00    
root 00:00    
guest 00:18    
guest 00:25    
guest 00:00    
guest 00:00    
guest 00:00    
guest 00:09    
guest 00:06    
[guest@localhost ~]$
Bash
1
2
3
4
5
6
7
8
seconds()
{
    local min sec
    
    min=${1%:*}
    sec=${1#*:}
    expr $min \* 60 + $sec
}
Код
[guest@localhost ~]$ seconds()
> {
>     local min sec
>     
>     min=${1%:*}
>     sec=${1#*:}
>     expr $min \* 60 + $sec
> }
[guest@localhost ~]$ seconds 01:25
85
[guest@localhost ~]$
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2012, 02:58

Найти числа из промежутка от А до В, у которых больше всего делителей
Начало и конец промежутка (A и B соответственно) ввести с клавиатуры....

Найти числа из промежутка от А до В, у которых больше всего делителей
Найти числа из промежутка от А до В, у которых больше всего делителей.

Найти название страны, в которой больше всего людей
Привет всем! Прошу помочь с заданием, нужно найти название страны, в которой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru