Представим задачу следующим образом — имеется набор логов Squid за неделю, требуется найти все записи по определённому пользователю, например — mrtux, затем выбрать все записи соответсвующие ресурсу, например — freebsd.org, а после, пожалуй самое главное, перевести дату в читаемый формат (:
— создаём пустые текстовые файлы mrtux.txt (для первой выборки) и freebsd.org.txt (для второй выборки) — echo > mrtux.txt
— делаем выборку grep -i ‘mrtux’ access.log.* >> mrtux.txt , вместо * подставляем номер лога, чтобы не обрабатывать каждый файл составьте список и запустите через sh файл со списком, вы также можете просто выполнить выше приведённую команду, которая обработает все логи, но конечный формат не подходит под нашу финальную задачу
— делаем выборку grep -i ‘freebsd.org’ mrtux.txt > freebsd.org.txt
— переводим дату и время в читаемый формат tail -n 12000 freebsd.txt |perl -pe ‘s/^\d+\.\d+/localtime $&/e;’ > final.txt , 12000 — количество строк, обрабатываемых командой, редактируется под ваши нужды