Вот немного awk для начала:
awk '/ > /{
split($1,t,":"); time = (t[1]*60+t[2])*60+t[3]
diff = time-lasttime; lasttime = time
event[++i] = diff; window += diff; tod[i] = $1
while(window>=1){
window -= event[1]
for(j=1;j<i;j++){
event[j] = event[j+1]
tod[j] = tod[j+1]
}
i--
}
if(i+1>10) printf "%d events in %f secs at %s\n",i+1,window,tod[i]
} '
Он сохраняет (в массиве event
) все временные метки (преобразованные в секунды с плавающей запятой. ), которые находятся в рабочем окне длительностью 1 секунду. Когда окно выходит за пределы нового события, первое записанное событие удаляется, а все события смещаются на единицу вниз. i
говорит, сколько событий существует, не считая одного, соответствующего началу окна, которое всегда находится в относительном нуле времени. Сценарий печатает, сколько событий было в окне, когда число превышает 10. Пример вывода:
11 events in 0.962827 secs at 14:53:51.262827
Шаблон /> /
должен соответствовать только входящим пакетам. Возможно, вам придется уточнить это, чтобы оно соответствовало интересующим вас линиям.
Нет. Пока вы используете программное обеспечение, созданное другими, вам необходимо понимать, на каких лицензиях оно вам предоставляется. Лицензии BSD, GPL и другие предъявляют разные требования, особенно к тем, кто хочет распространять покрываемое ими программное обеспечение, и переключение с одной на другую просто означает, что вам нужно научиться работать с другим набором требований.
Что касается статьи, на которую вы ссылаетесь, их точка зрения состоит в том, что крошечная ошибка в формулировке лицензии может иметь огромное юридическое значение, поэтому лицензии должны составляться людьми, которые разбираются в юридических вопросах. Однако их отказ касается только того, будет ли эта лицензия включена в список Open Source Initiative как сертифицированная лицензия с открытым исходным кодом.
Ответ alanc правильный, но, пожалуйста, также прочтите эти ссылки перед тем, как судить о лицензии GPL: