@ekholdthero

Как распарсить лог nginx на статику?

Нужно распарсить лог nginx и получить все расширения файлов, которые запрашиваются
cat access.log | awk '{print $8}' | rev | cut -d'.' -f1 | rev | sort | uniq -c | sort -rn

Команда выводит расширения но вместе с ней и много лишнего мусора, каким образом оптимизировать до вывода только расширений?
Требуется оставить исключительно список расширений и убрать все лишнее
881781 jpg
 159161 png
  96670 html
  94454 webp
  70508 js
  68654 ico
  55866 css
  48728 jpeg
  35943 1
  27878 php
  12441 htm
  12270 2
   9556 gif
   6468 4-wp
   6258 woff?12
   5655 /?utm_source=adbless&utm_medium=cpm&utm_campaign=3126
   5595 3
   5528 /
   5388 /?utm_source=onixz
   4951 xml
   4321 woff?13
   4068 txt
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ответы на вопрос 2
fzfx
@fzfx
18,5 дм
просто добавьте соответствующий код, который проанализирует строки на предмет того, являются они расширениями или нет.
поскольку вы не указали, что из этого является расширениями, а что нет, буду полагаться на свой опыт.
например, так:
cat access.log | awk '{print $8}' | rev | cut -d'.' -f1 | rev | perl -pe 's/\?.*//;s/^\/$//' | sort | uniq -c | sort -rn
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Добавьте локейшен для статики (прямо перечислив расширения, например), который бы логировал запросы в отдельный файл.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы