Раздел вопрос-ответ Как найти строки из файлов линукс по паттерну?

Я хочу найти все строки по паттерну (siteId=52146057)' из .log файлов в директории var/log/.

Я могу найти все файлы, где паттерн матчится:

$ grep -rl "(siteId=52146057)" var/log/*.log
 var/log/log1-workers.log
 var/log/log2-workers.log
 var/log/log5-workers.log
Но как сделать поиск в одну команду, чтобы на экран были выведены все строки из файлов? Делать отдельный поиск по каждому файлу из вывода не хочется...
 
share

1 ответ

Как оказалось, из grep нужно всего лишь было убрать опцию l.  Из-за этой опции выводились только имена файлов без самих строк. Вот так можно грепнуть файлы по паттерну по определённому пути:

$ grep -r "(siteId=52146057)" var/log/*.log
var/log/log1-workers.log:[18.03.2016 22:17:44] Task_Name1(siteId=52146057) finished within 0.5s
var/log/log2-workers.log:[18.03.2016 22:17:46] Task_Name2(siteId=52146057) finished within 0.03s
...

В выводе grep:

Имя файла, затем двоеточие и строка, которая заматчилась в нём.

Добавить комментарий
    как минимум 5 символов

    icon Вход в систему

    зарегистрироваться