Как я могу подсчитать, сколько раз различные файлы PDF доступны в файле журнала Apache? - PullRequest
1 голос
/ 27 января 2011

У меня есть файл журнала, который содержит трафик для всего сервера.Сервер обслуживает несколько доменов, но я знаю, что все файлы PDF, которые я хочу подсчитать, находятся в /some/directory/.

Я знаю, что могу получить список всех файлов PDF, которые хочу, еслиgrep этот каталог для расширения 'pdf'.

Как тогда подсчитать, сколько раз каждый PDF-файл был доступен по отдельности из командной строки?

Ответы [ 3 ]

2 голосов
/ 27 января 2011

это немного длиннее одной строки, но это даст вам лучшее резюме. Вы можете изменить это, указав путь к pdf и файлу apache access_log и просто вставив его в командную строку или поместив в скрипт bash

 for file in `ls /path/to/pdfs | grep pdf `
 do
  COUNT=`grep -c $file access_log`
  echo $file $COUNT
 done
1 голос
/ 27 января 2011

Grep для имени файла PDF в вашем журнале и используйте опцию -c для подсчета случаев.Например:

grep -c myfile.pdf apache.log

Если у вас есть сотни файлов, создайте один файл со списком всех имен файлов, например,

$ cat filelist.txt

foo.pdf
bar.pdf

, а затем используйте grep вloop

while read filename
do 
   COUNT=$(grep -c $filename apache.log) 
   echo $filename:$COUNT 
done < filelist.txt

Это напечатает, сколько раз каждый файл PDF появлялся в журнале.

0 голосов
/ 27 января 2011

Используйте grep для идентификации строк с вашим pdf, а затем wc -l для подсчета найденных строк:

grep /your/pdf logfile | wc -l

Вы также можете проверить 200 ответов относительно 302, т. Е. Если пользователь только зашел на страницу или на весь документ (некоторые программы чтения PDF-файлов загружают только страницу за раз)

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