Флаг FreeBSD для игнорирования ошибок разрешения при поиске файла строку

Я использую следующее для искания строку во всех файлах в каталоге.

grep -Flr --include "*" 'mystring' /modules/

Который работает perectly штраф и возвращает файлы, которые содержат строку. Однако я также получаю список файлов с разрешением, отклоненным рядом с ними, что означает искать результаты немного тяжелее.

Есть ли флаг для передачи команде для игнорирования отклоненных ошибок разрешения вывода.

Спасибо

4
задан 18.09.2009, 13:54

1 ответ

Я обычно просто использую:

grep -Flr --include "*" 'mystring' /modules/ 2>/dev/null

который выбросит весь вывод к стандартной погрешности, предполагая, что у Вас есть обеспечение оболочки 2> перенаправление стандартной погрешности. В противном случае посмотрите здесь.

Если (поскольку Вы, кажется, указываете в своем комментарии), Ваша версия grep выводов ее ошибки к стандартному выводу, а не стандартной погрешности, можно отфильтровать тот вывод с чем-то как:

grep -Flr --include "*" 'mystring' /modules/ | egrep -v 'Permission denied|ERROR'

Это выбросит строки на основе любого шаблона, который Вы считаете, необходимо.

3
ответ дан 07.12.2019, 21:09

Теги

Похожие вопросы