команда unix для поиска количества запросов HTTP статуса 5XX в журнале

команда unix для поиска количества запросов HTTP статуса 5XX в журнале

03.02.2020 01:36:53 Просмотров 2 Источник

мне нужно написать команду unix для поиска количества запросов HTTP статуса 5XX в журнале. Формат журнала похож на приведенный ниже пример :

192.168.0.101 - - [12/Dec/2019:23:15:56 +0900] "GET /index.html HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0" 

есть предложения ?

У вопроса есть решение - Посмотреть?

Ответы - команда unix для поиска количества запросов HTTP статуса 5XX в журнале / unix command to search count of 5XX status HTTP requests in the log

Является ответом!
Brian

03.02.2020 01:44:08

Минимальное решение было бы

$ grep "5\d{2}" somefile.log | wc -l

grepотфильтрует выходные данные только для строк, включая строку 5XX, где X-любой символ цифры. Эти выходные данные затем передаются в wc -l, который подсчитывает количество произведенных линий.

Однако возможно, что строка 5XXбудет встречаться в другом месте файла журнала. Чтобы объяснить это, вы можете рассмотреть возможность использования более детального шаблона в grep, такого как

$ grep "HTTP/1.1\"\ 5\d{2}" somefile.log | wc -l

это гарантирует, что вы будете соответствовать только кодам ошибок HTTP, а не, например, будущей версии Gecko.

Закрыть X