Suprime el mensaje 'no existe tal archivo o directorio' de 'find'

15

Estoy tratando de encontrar un directorio con este comando:

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

Veo una gran cantidad de salida 'No existe tal archivo o directorio'. ¿Hay alguna manera de hacer que find se calle si no encuentra nada?

nulltorpedo
fuente
esto funcionó para mí: find / users / dan / -name 'Prams' -type d | tee log
nulltorpedo
1
la tubería sin ampersand solo produce salidas estándar. Si fue | & log, también imprimirá esos errores.
nulltorpedo

Respuestas:

20

Prueba esto:

find /users/dan/ -name 'Prams' -type d 2>/dev/null
Libro de zeus
fuente
dice: find: las rutas deben preceder a la expresión. Estoy ejecutando Linux 2.6.9-67.0.7
nulltorpedo
qué sabor: puedes correruname -a
Libro de Zeus
Linux machine-3 2.6.9-67.0.7.ELsmp # 1 SMP mié 27 feb 04:47:23 EST 2008 x86_64 x86_64 x86_64 GNU / Linux
nulltorpedo
esto funcionó para mí: find / users / dan / -name 'Prams' -type d | tee log
nulltorpedo
interesante, esto no funcionó para mí
Libro de Zeus
2

Puede suprimir la salida STDERR:

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

O puede usar findpara mostrar todos los directorios y filtrar su salida con grep:

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

El findcomando no imprimirá "no existe tal archivo o directorio" si la ruta de búsqueda ( /users/danen este caso) existe, incluso si no hay coincidencias. ¿Estás seguro de que este directorio existe?

Christopher Neylan
fuente
0

¡Su sintaxis es correcta si efectivamente /users/dan/ <existe en primer lugar!

En primer lugar, no debería haber salidas 'No existe tal archivo o directorio'.

find $HOME -name 'Prams' -type d
tao
fuente