Утилита find
, как и большинство других утилит, записывает сообщения об ошибках в стандартный поток ошибок .
Ваш канал перенаправит стандартный выходной поток find
на grep
, но поток ошибок все равно будет поступить в консоль.
Чтобы перенаправить поток ошибок find
, используйте 2>&1
, если вы хотите обработать его с помощью grep
(это означает «отправлять ошибки везде, куда идет обычный вывод»)
find / -iname "*mysql*" 2>&1 | grep -v "Permission"
Однако, поскольку вы вероятно хотите, чтобы ошибки исчезли, используйте
find / -iname "*mysql*" 2>/dev/null
Это приведет к тому, что поток ошибок find
перейдет в битовую корзину /dev/null
(файл устройства, который никогда не может быть заполнен).