Пригнічує повідомлення "немає такого файлу чи каталогу" з "знайти"


15

Я намагаюся знайти каталог із цією командою:

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

Я бачу величезну кількість результатів "Немає такого файлу чи каталогу". Чи є спосіб зробити пошук заткнутим, якщо він нічого не знайде?


це працювало для мене: find / users / dan / -name 'Коляска' тип d | tee log
nulltorpedo

1
труба без ампер і тільки виводить std вихід. Якщо це був | & log, він також надрукує ці помилки.
nulltorpedo

Відповіді:


21

Спробуйте це:

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

в ньому сказано: find: шляху повинні передувати вираженню. Я запускаю linux 2.6.9-67.0.7
nulltorpedo

який аромат: чи можна бігтиuname -a
Book Of Zeus

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 'Коляска' тип d | tee log
nulltorpedo

що цікаво, це не спрацювало для мене
Книга Зевса

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.