У меня проблемы с получением списка строк в связке gzipped apache лог-файлов доступа. Я хочу получить список файлов журналов только с номерами 1 и 2, затем выполнить их поиск и извлечь строки с определенным соответствующим текстом.
Первоначально я получил это, чтобы работать только для архивов журнала доступа с номером 1. Текст "/ pathname" был текст, который я искал:
zgrep /pathname/ access_*.log.1.gz
Поскольку ls не поддерживает регулярные выражения, я пришел к следующему, чтобы получить список из текущего каталога нужных мне файлов:
find . -maxdepth 1 -type f -regex '\./access.+\.log\.[1|2]\.gz' -printf '%P\n'
find . -maxdepth 1 -type f -regex '\./access.+\.log\.[1|2]\.gz' | sed "s|^\./||"
Моя проблема теперь заключается в том, чтобы взять вывод из этого списка файлов и згрепэпировать по файлам, чтобы вернуть строки в тех файлах, которые соответствуют моему тексту. Я лаю не на том дереве?