Подавляет сообщение «нет такого файла или каталога» от «find»

15

Я пытаюсь найти каталог с помощью этой команды:

find /users/dan/ -name 'Prams' -type d

Я вижу огромное количество выводов «Нет такого файла или каталога». Есть ли способ заставить найти заткнуться, если он ничего не находит?

nulltorpedo
источник
это сработало для меня: find / users / dan / -name 'Prams' -type d |
Ти
1
труба без амперсанда выводит только стандартный вывод. Если это был | & log, он также напечатает эти ошибки.
nulltorpedo

Ответы:

20

Попробуй это:

find /users/dan/ -name 'Prams' -type d 2>/dev/null
Книга Зевса
источник
он говорит: найти: пути должны предшествовать выражению. Я использую Linux 2.6.9-67.0.7
nulltorpedo
какой аромат: ты можешь бежатьuname -a
Книга Зевса
Linux machine-3 2.6.9-67.0.7.ELsmp # 1 SMP Ср 27 февраля 04:47:23 EST 2008 x86_64 x86_64 x86_64 GNU / Linux
nulltorpedo
это сработало для меня: find / users / dan / -name 'Prams' -type d |
Ти
интересно, это не сработало для меня
Книга Зевса
2

Вы можете подавить вывод STDERR:

find /users/dan/ -name 'Prams' -type d 2> /dev/null

Или вы можете использовать, findчтобы показать все каталоги и отфильтровать вывод grep:

find /users/dan -type d | grep "Prams"

Команда findне напечатает «нет такого файла или каталога», если путь поиска ( /users/danв данном случае) существует, даже если совпадений нет. Вы уверены, что этот каталог существует?

Кристофер Нейлан
источник
0

Его синтаксис правильный, если он действительно /users/dan/ <существует!

Во-первых, не должно быть никаких выводов «Нет такого файла или каталога».

find $HOME -name 'Prams' -type d
дао
источник