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?


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

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?


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.