powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Скрипт на BASH
8 сообщений из 8, страница 1 из 1
Скрипт на BASH
    #37712455
Незнающий правды
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обращаюсь к добрадушным людям помочь мне написать скрипт на BASH
На собеседований на тестера дали пробное задание из лога выбрать следующие данные:

Необходимо показать следующие данные:
1. Сколько запросов было для каждого браузера (абсолютное количество и %)
2. Найти 10 самых длинных перерывов между запросами
3. Указать 10 самых последних запрашиваемых URL

Помогите написать скриптик, пажалустоо
...
Рейтинг: 0 / 0
Скрипт на BASH
    #37712646
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Незнающий правды,

на шеле упаришься

Код: sql
1.
2.
3.
perl -i -n -a -F'(\"[^\"]+\")|(\[[^\]]+\])|([^\s]+)' -e '$s{@F[33]}++;$c++;map{print"$s{$_}\t".int($s{$_}/$c*100)."\t$_\n"}sort{$s{$b}<=>$s{$a}}keys%s if(eof())' < access.log
perl -MDate::Manip -i -n -a -F'(\"[^\"]+\")|(\[[^\]]+\])|([^\s]+)' -e '($t=@F[14])=~s/[\[\]]//g;push@a,UnixDate(ParseDate($t),"%s");if(eof()){@a=sort{$a<=>$b}@a;map{print"$_\n"}grep{$i++<10}grep{$_>0}sort{$b<=>$a}map{@a[$_+1]-@a[$_]} 0..$#a}' < access.log
perl -MDate::Manip -i -n -a -F'(\"[^\"]+\")|(\[[^\]]+\])|([^\s]+)' -e '($t=@F[14])=~s/[\[\]]//g;$s{$c++}=[UnixDate(ParseDate($t),"%s"),@F[17]]; map{print $s{$_}[1]."\n"}grep{$i++<10}sort{$s{$b}[0]<=>$s{$a}[0]}keys%s if(eof())' < access.log
...
Рейтинг: 0 / 0
Скрипт на BASH
    #37712662
Незнающий правды
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,

Спс большое за труд свой, сразу видно что ты хороший программист.

В этом зажаний нужно именно зделать на bash

Рекомендуемые к использованию unix утилиты:
grep, tail, head, sort, cut, wc
...
Рейтинг: 0 / 0
Скрипт на BASH
    #37712674
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Незнающий правды,

в таких задачах использование шела противоестественно
...
Рейтинг: 0 / 0
Скрипт на BASH
    #37712710
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Незнающий правды,

подлюбому от вас ожидают полноценные сценарии а не однострочники...
Код: sql
1.
2.
3.
cat access.log | cut -d'"' -f6 | (exec 3>&1; count=`tee /dev/stderr 2>&1 >&3 |wc -l`; echo $count)|tac|(read count; (sort|uniq -c | while read cnt agent; do echo $(($cnt*100/$count)) $cnt $agent; done))
cat access.log | (while read d; do d=${d/*[/}; d=${d/]*/}; d=${d/:/ }; d=${d//\//-}; echo `date -d "$d" +%s`; done)|sort -n -r | (while read d; do r=$(($p-$d)); if [ $r -gt 0 ]; then echo $r; fi; p=$d; done)|sort -n -r|head -n 10
cat access.log | (while read s; do d=$s; d=${d/*[/}; d=${d/]*/}; d=${d/:/ }; d=${d//\//-}; s=`echo "$s" |cut -d'"' -f2`; s=`echo "$s" |cut -d'"' -f1`; echo `date -d "$d" +%s` $s; done)|sort -r -n -k1|head -n 10| cut -d' ' -f3
...
Рейтинг: 0 / 0
Скрипт на BASH
    #37713151
Незнающий правды
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПС БОЛЬШОЕ что потратили своё время что бы мне помочь, я очень вам благодарен. Буду теперь сидеть разбираться. А можно просто для себя поинтересоваться скока вы знаете языков программирования и кем работаете? =)
...
Рейтинг: 0 / 0
Скрипт на BASH
    #37714431
Незнающий правды
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uio
...
Рейтинг: 0 / 0
Скрипт на BASH
    #37716572
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Незнающий правдыи кем работаете? =)
своим умом работайте.
никто не будет постоянно подсказывать!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Скрипт на BASH
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]