Хотите найти строку во всех подкаталогах папки

Предположим, я в папке

      /data/

Данные папки содержат еще 10 папок.

      /data/temp1
/data/temp2
/data/temp3
and so on  

все из которых имеют файлы .gz, т.е. temp1, temp2, temp3 до temp10, все они содержат файлы .gz. Я хочу иметь возможность найти определенную строку, предположим, ОШИБКА: во ВСЕХ файлах, расположенных во всех 10 каталогах.

Есть ли команда, которая может помочь мне это сделать?

1 ответ

Базовая команда поиска должна делать:

# find /data -name "*.gz" -exec zgrep "ERROR" {} \;

Существует несколько альтернативных (и, возможно, более эффективных) способов его форматирования, например, с помощьюxargs, но это сработает, по крайней мере, в той степени, в которой задан ваш вопрос.

Другие вопросы по тегам