избегать запрещенного спама при использовании команды find


21

Я часто пытаюсь найти файлы со следующим синтаксисом:

find . -name "filetofind"

Однако обычно это приводит к появлению большого количества строк или сообщений об ошибках (Permission denied) о папках, в которых было отказано в разрешении. Есть ли другой способ избежать этого спама, кроме использования sudo или расширенного поиска ошибок?



Ответы:


27

Пытаться

find . -name "filetofind" 2>/dev/null

Это перенаправит stderrпоток вывода, который используется для сообщения обо всех ошибках, включая ошибку «Отказано в доступе», на нулевое устройство.


Спасибо, работает как шарм :) Я полагаю, что нет простого способа сделать его опцией по умолчанию без создания псевдонима, делающего то же самое.
user40167

Нет, это дизайн оболочки.
whitequark


3

Если вы хотите увидеть другие ошибки и у вас нет файлов с именем «отказано в разрешении», это будет работать «лучше».

find . -name "filetofind" 2>&1 | grep -v 'permission denied' 

Перенаправление вывода в grep с опцией инверсии.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.