Как получить код состояния grep, запущенный в find

Как получить код состояния grep, запущенный в find

Как можно получить код завершения команды grep, запущенной в find:

например:

find ./export-`date +%Y%m%d`-*/instance.log -type f -exec grep -i -m1 error {} \;

Независимо от того, найдено ли в файле слово «error» или нет, возвращается код выхода.0

Содержимое instance.log следующее:

2016-09-30 09:01:20 : ОШИБКА2 (16)

решение1

Команда find, используемая с опцией -exec, вернет код состояния команды grep. Пример:

find . -type f  -exec grep 201 {} +

Вернет 0, когда я выполню его в папке с некоторыми файлами журнала, содержащими шаблон "201". Вы можете проверить это с помощью echo $? в вашей консоли (это возвращает 0, если шаблон найден).

Если я выполню ту же команду в другой папке с файлами, не содержащими «201», код состояния команды find будет 1

Связанный контент