Вопрос по awk

D
На сайте с 28.06.2008
Offline
1114
1258

Как модифицировать эту команду, чтобы получить

cat /var/log/nginx/access.log | egrep -v 'ico|png|gif|jpg|swf|\.js|css' | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head

тоже самое, только за последний час ?

DV
На сайте с 01.05.2010
Offline
644
#1

Пщ-моему, в строчку никак. Скрипт надо писать.

Брать текущее время в UNIXTIME, вычитать из него то, что дают строки. Если не больше времени в секундах, кидать в выхлоп.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
AGHost
На сайте с 16.11.2011
Offline
115
#2

Можно, например за последний час:

awk -vDate=`date -d'now-1 hours' +[%d/%b/%Y:%H:%M:%S` ' { if ($4 > Date) print $1}' access.log | sort |uniq -c |sort -n | tail

8 лет на рынке услуг хостинга - https://agho.st (https://agho.st)
D
На сайте с 28.06.2008
Offline
1114
#3

AGHost, так нужно?

awk -vDate=`date -d'now-1 hours' +[%d/%b/%Y:%H:%M:%S` ' { if ($4 > Date) print $1}' access.log | egrep -v 'ico|png|gif|jpg|swf|\.js|\.php|css' | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head

попробовал - у меня команда завершилась без результата, может формат лога не такой как у вас?

вот что у меня

[20/Feb/2017:10:25:15 +0300]
N
На сайте с 06.05.2007
Offline
419
#4

Dram, зачем? ну вы же знаете php? или даже perl? зачем эти мучения?

Ваши скрипты все равно не попадут в дистрибутив freebsd. Это полностью бесполезно.

Кнопка вызова админа ()
D
На сайте с 28.06.2008
Offline
1114
#5

netwind, вообще не понял о чем вы и языков программирования я увы не знаю. И у меня дебиан, да и мыслей не было че-то куда-то добавлять, это явно не мой уровень.

V
На сайте с 05.08.2007
Offline
87
#6

А потянет, если не за "последний час", а "за конкретный час"? :)

cat /var/log/nginx/access.log | grep "20/Feb/2017:10:" | egrep -v 'ico|png|gif|jpg|swf|\.js|css' | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head 

---

С уважением, Victor (http://adm-lib.ru)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий