¿Cómo puedo excluir todos los mensajes de " permiso denegado "de"buscar"?


Necesito ocultar todos los permisos denegados mensajes de:

find . > files_and_folders

Estoy experimentando cuando surge tal mensaje. Necesito reunir todas las carpetas y archivos, a los que no surge.

¿Es posible dirigir los niveles de permisos al archivo files_and_folders?

¿Cómo puedo ocultar los errores al mismo tiempo?

Author: Jahid, 2009-04-18

18 answers

Nota:
* Esta respuesta probablemente va más allá de las garantías del caso de uso, y find 2>/dev/null puede ser lo suficientemente buena en muchas situaciones. Todavía puede ser de interés para una perspectiva multiplataforma y para su discusión de algunas técnicas avanzadas de shell en el interés de encontrar una solución que sea lo más sólida posible, a pesar de que los casos protegidos pueden ser en gran medida hipotéticos.
* Si su sistema está configurado para mostrar mensajes de error localizados , find llama a continuación con LC_ALL=C (LC_ALL=C find ...) para asegurar que Los mensajes en inglés sean reportados, de modo que grep -v 'Permission denied' funcione según lo previsto. Invariablemente, sin embargo, cualquier mensaje de error que haga se muestre también estará en inglés.

Si su shell es bash o zsh, hay una solución que es robusta mientras que es razonablemente simple , usando solo características compatibles con POSIX find ; mientras que bash en sí no es parte de POSIX, la mayoría de Unix moderno las plataformas vienen con él, lo que hace que esta solución sea ampliamente portátil:

find . > files_and_folders 2> >(grep -v 'Permission denied' >&2)

Nota: Hay una pequeña posibilidad de que parte de la salida de grep pueda llegar después find completa, porque el comando general no espera a que termine el comando dentro de >(...). En bash, puede evitar esto añadiendo | cat al comando.

  • >(...) es una salida (rara vez utilizada) sustitución de procesos que permite redireccionar la salida (en este caso, stderr salida (2>) a la stdin del comando dentro de >(...).
    Además de bash, y zsh, ksh también los soporta en principio, pero tratar de combinarlos con la redirección desde stderr, como se hace aquí (2> >(...)), parece ser silenciosamente ignorado (en ksh 93u+).

    • grep -v 'Permission denied' filtros fuera (-v) todas las líneas (del flujo stderr del comando find) que contienen la frase Permission denied y envían las líneas restantes a stderr (>&2).

Este enfoque es:

  • Robusto: grep solo se aplica a mensajes de error (y no a una combinación de rutas de archivo y mensajes de error, que potencialmente conducen a falsos positivos), y los mensajes de error que no sean los de permiso denegado se pasan a stderr.

  • Libre de efectos secundarios: find's se conserva el código de salida: la imposibilidad de acceder al menos a uno de los los elementos encontrados resultan en el código de salida 1 (aunque eso no le dirá si se produjeron (también) errores otros que los denegados de permiso).


Soluciones compatibles con POSIX:

Las soluciones totalmente compatibles con POSIX tienen limitaciones o requieren trabajo adicional.

Si la salida de find debe capturarse en un archivo de todos modos (o suprimirse por completo), entonces la solución basada en canalizaciones de answer es simple, robusto y compatible con POSIX:

find . 2>&1 >files_and_folders | grep -v 'Permission denied' >&2

Tenga en cuenta que el orden de las redirecciones importa: 2>&1debe venir primero.

Capturar la salida stdout en un archivo por adelantado permite a 2>&1enviar solo mensajes de error a través de la canalización, que grep puede operar sin ambigüedades.

El único inconveniente de es que el código de salida general será el grep comando , no find ' s, que en este caso significa: si hay no hay errores en absoluto o solo errores de permiso denegado, el código de salida será 1 (señalando fallo), de lo contrario (errores que no sean los de permiso denegado) 0-que es lo contrario de la intención.
Dicho esto, el código de salida de find rara vez se usa de todos modos, ya que a menudo transmite poca información más allá de falla fundamental como pasar una ruta inexistente.
Sin embargo, el caso específico de incluso solo algunos de las rutas de entrada inaccesibles debido a la falta de permisos se reflejan en el código de salida de find (tanto en GNU como en BSD find): si se produce un error de permisos denegados para cualquier de los archivos procesados, el código de salida se establece en 1.

La siguiente variación aborda que:

find . 2>&1 >files_and_folders | { grep -v 'Permission denied' >&2; [ $? -eq 1 ]; }

Ahora, el código de salida indica si hay algún error que no sea Permission denied ocurrió: 1 si es así, 0 de lo contrario.
En otras palabras: el código de salida ahora refleja la verdadera intención del comando: se informa de éxito (0), si no hay ningún error o solo se produjeron errores denegados de permiso.
Esto es posiblemente incluso mejor que simplemente pasar el código de salida de find, como en la solución en la parte superior.


Gniourf_gniourf en los comentarios propone una (todavía compatible con POSIX) generalización de esta solución utilizando redirecciones sofisticadas , que funciona incluso con el comportamiento predeterminado de imprimir el archivo rutas a stdout:

{ find . 3>&2 2>&1 1>&3 | grep -v 'Permission denied' >&3; } 3>&2 2>&1

En resumen: El descriptor de archivo personalizado 3 se usa para intercambiar temporalmente stdout (1) y stderr (2), de modo que los mensajes de error solo se pueden canalizar a grep a través de stdout.

Sin estas redirecciones, tanto los datos (rutas de archivo) como los mensajes de error se canalizarían a grep a través de stdout, y grep entonces no sería capaz de distinguir entre mensaje de error Permission denied y un (hipotético) archivo cuya el nombre contiene la frase Permission denied.

Como en la primera solución, sin embargo, el código de salida reportado será grep's, no find's, pero se puede aplicar la misma solución que la anterior.


Notas sobre las respuestas existentes:

  • Hay varios puntos a tener en cuenta sobre La respuesta de Michael Brux, find . ! -readable -prune -o -print:

    • Requiere GNU find; notablemente, no funcionará en macOS. Por supuesto, si solo necesitas el comando para trabajar con GNU find, esto no será un problema para usted.

    • Algunos errores Permission denied pueden ser todavía: find ! -readable -prune reporta tales errores para los elementos de directorios hijo para los cuales el usuario actual tiene permiso r, pero carece de permiso x (ejecutable). La razón es que debido a que el directorio en sí es legible, -prune no se ejecuta, y el intento de descender en ese directorio entonces desencadena el error mensaje. Dicho esto, el caso típico es para el permiso r que falta.

    • Nota: El siguiente punto es una cuestión de filosofía y / o caso de uso específico, y puede decidir que no es relevante para usted y que el comando se ajusta bien a sus necesidades, especialmente si simplemente imprimir las rutas es todo lo que hace:

      • Si conceptualiza el filtrado de los mensajes de error de permiso denegado una tarea separada que desea poder aplicar a cualquier find entonces, el enfoque opuesto de prevenir proactivamente errores denegados de permisos requiere introducir "ruido" en el comando find, que también introduce complejidad y trampas lógicas .
      • Por ejemplo, el comentario más votado sobre la respuesta de Michael (al momento de escribir este artículo) intenta mostrar cómo extender el comando incluyendo un filtro -name, de la siguiente manera:
        find . ! -readable -prune -o -name '*.txt'
        Esto, sin embargo, ¿no funcione como se pretende, porque al final el -print acción es requerido (una explicación puede encontrarse en esta respuesta). Tales sutilezas pueden introducir errores.
  • La primera solución en La respuesta de Jonathan Leffler, find . 2>/dev/null > files_and_folders, como él mismo afirma, ciegamente silencia todos los mensajes de error (y la solución es engorrosa y no totalmente robusta, como también explica). Pragmáticamente hablando , sin embargo, es la solución más simple, ya que puede contentarse con asumir que todos y cada uno de los errores estarían relacionados con el permiso.

  • Respuesta de Mist, sudo find . > files_and_folders, es conciso y pragmático, pero desaconsejado para cualquier otra cosa que no sea simplemente imprimir nombres de archivo, por razones de seguridad: debido a que se está ejecutando como el usuario root , " corre el riesgo de que todo su sistema se estropee por un error en find o una versión maliciosa, o una invocación incorrecta que escribe algo inesperadamente, lo que no podría suceder si ejecutaras esto con privilegios normales" (de un comentario sobre la respuesta de mist de tripleee).

  • La segunda solución en respuesta de viraptor, find . 2>&1 | grep -v 'Permission denied' > some_file corre el riesgo de falsos positivos (debido al envío de una mezcla de stdout y stderr a través de la canalización), y, potencialmente, en lugar de informar non-permission-denied errors vía stderr, los captura junto con rutas de salida en el archivo de salida.

 170
Author: mklement0,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:26:38

Uso:

find . 2>/dev/null > files_and_folders

Esto oculta no solo los errores Permission denied, por supuesto, sino todos los mensajes de error.

Si realmente desea mantener otros posibles errores, como demasiados saltos en un enlace simbólico, pero no los permisos denegados, entonces probablemente tendría que adivinar que no tiene muchos archivos llamados 'permiso denegado' e intentar:

find . 2>&1 | grep -v 'Permission denied' > files_and_folders

Si estrictamente desea filtrar solo el error estándar, puede usar el más elaborado construcción:

find . 2>&1 > files_and_folders | grep -v 'Permission denied' >&2

La redirección de E/S en el comando find es: 2>&1 > files_and_folders |. La tubería redirige la salida estándar al comando grep y se aplica primero. El 2>&1 envía el error estándar al mismo lugar que la salida estándar (la tubería). > files_and_folders envía la salida estándar (pero no el error estándar) a un archivo. El resultado neto es que los mensajes escritos en error estándar se envían por la tubería y la salida regular de find se escribe en el archivo. El grep filtra la salida estándar (puede decida qué tan selectivo desea que sea, y puede que tenga que cambiar la ortografía dependiendo de la configuración regional y O/S) y el final >&2 significa que los mensajes de error sobrevivientes (escritos en la salida estándar) van a error estándar una vez más. La redirección final podría considerarse opcional en el terminal, pero sería una muy buena idea usarla en un script para que los mensajes de error aparezcan en el error estándar.

Hay infinitas variaciones sobre este tema, dependiendo de lo que quieras hacer. Esta voluntad trabajar en cualquier variante de Unix con cualquier derivado de Bourne shell (Bash, Korn, Kor) y cualquier versión compatible con POSIX de find.

Si desea adaptarse a la versión específica de find que tiene en su sistema, puede haber opciones alternativas disponibles. GNU find en particular tiene una miríada de opciones que no están disponibles en otras versiones - vea la respuesta actualmente aceptada para uno de estos conjuntos de opciones.

 501
Author: Jonathan Leffler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-19 19:30:23

Uso:

find . ! -readable -prune -o -print

O más generalmente

find <paths> ! -readable -prune -o <other conditions like -name> -print
  • para evitar "Permiso denegado"
  • Y NO suprima (otros) mensajes de error
  • Y obtener el estado de salida 0 ("todos los archivos se procesan correctamente")

Funciona con: find (GNU findutils) 4.4.2. Antecedentes:

  • La prueba -readable coincide con archivos legibles. El operador ! devuelve true, cuando test es false. Y ! -readable coincide con directorios no legibles (&archivos).
  • El -prune la acción no desciende al directorio.
  • ! -readable -prune se puede traducir a: si el directorio no es legible, no descienda a él.
  • La prueba -readable tiene en cuenta las listas de control de acceso y otros artefactos de permisos que la prueba -perm ignora.

Véase también find(1) manpage para muchos más detalles.

 253
Author: Michael Brux,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-03 17:39:27

Si desea iniciar la búsqueda desde la raíz"/", probablemente verá algo como:

find: /./proc/1731/fdinfo: Permission denied
find: /./proc/2032/task/2032/fd: Permission denied

Es por el permiso. Para resolver esto:

  1. Puedes usar el comando sudo: sudo find /. -name 'toBeSearched.file'. pregunta la contraseña del super usuario, cuando introduzca la contraseña verá resultado lo que realmente desea.

  2. Puede utilizar redirigir la Salida de Error Estándar de (Generalmente Display/Screen) a algún archivo y evitar ver los mensajes de error en la pantalla! redirigir a un especial archivo / dev / null:

    find /. -name 'toBeSearched.file' 2>/dev/null
    
  3. Puede usar redirigir la Salida de Error Estándar de (Generalmente Display / Screen) a la salida estándar (Generalmente Display / Screen), luego canalizar con el comando grep con el parámetro-v "invertir"para no ver las líneas de salida que tienen pares de palabras 'Permiso denegado':

    find /. -name 'toBeSearched.file' 2>&1 | grep -v 'Permission denied'
    
 105
Author: Fatih Aksu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-31 18:54:48

, tuve que usar:

find / -name expect 2>/dev/null

Especificando el nombre de lo que quería encontrar y luego diciéndole que redirija todos los errores a /dev/null

Expect es la ubicación del programa expect que estaba buscando.

 83
Author: Jeremy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-31 03:27:02

Pipe stderr a /dev/null usando 2>/dev / null

find . -name '...' 2>/dev/null

 50
Author: Matt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-30 18:46:48

También puede usar los predicados -perm y -prune para evitar descender a directorios ilegibles (consulte también ¿Cómo elimino las instrucciones de impresión "permiso denegado" del programa find? - Unix & Linux Stack Exchange):

find . -type d ! -perm -g+r,u+r,o+r -prune -o -print > files_and_folders
 29
Author: sdaau,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-13 12:36:27

Error estándar de redirección. Por ejemplo, si está usando bash en una máquina unix, puede redirigir el error estándar a /dev/null de la siguiente manera:

find . 2>/dev/null >files_and_folders
 22
Author: Jason Coco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-17 21:57:44

Si bien los enfoques anteriores no abordan el caso de Mac OS X porque Mac Os X no es compatible con -readable switch, esta es la forma en que puede evitar errores de 'Permiso denegado' en su salida. Esto podría ayudar a alguien.

find / -type f -name "your_pattern" 2>/dev/null.

Si está utilizando algún otro comando con find, por ejemplo, para encontrar el tamaño de los archivos de cierto patrón en un directorio 2>/dev/null seguiría funcionando como se muestra a continuación.

find . -type f -name "your_pattern" -exec du -ch {} + 2>/dev/null | grep total$.

Esto devolverá el tamaño total de los archivos de un patrón dado. Nota el comando 2>/dev/null al final de find.

 19
Author: Bunti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-02 09:55:44

Esos errores se imprimen en la salida de error estándar (fd 2). Para filtrarlos, simplemente redirija todos los errores a /dev/null:

find . 2>/dev/null > some_file

O primero unir stderr y stdout y luego eliminar esos errores específicos:

find . 2>&1 | grep -v 'Permission denied' > some_file
 13
Author: viraptor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-17 22:00:10

Respuesta simple:

find . > files_and_folders 2>&-

2>&- cierra (-) el descriptor de archivo de error estándar (2) para que todos los mensajes de error sean silenciados.

  • El código de salida seguirá siendo 1 si cualquier error 'Permission denied' de otro modo se imprimiría

Respuesta robusta para GNU find:

find . -type d \! \( -readable -executable \) -prune -print -o -print > files_and_folders

Pasar opciones adicionales a find que -prune (evitar descender en) pero todavía -print cualquier directorio (-typed) que no (\!) tienen tanto -readable y -executable permisos, o (-o) -print cualquier otro archivo.

  • -readable y -executable las opciones son extensiones GNU, no forman parte del estándar POSIX
  • Todavía puede devolver 'Permission denied ' en archivos anormales / corruptos (por ejemplo, consulte informe de error que afecta a los sistemas de archivos montados en contenedores usando lxcfs

Respuesta robusta que funciona con cualquier compatible con POSIX find (GNU, OSX/BSD, etc)

{ LC_ALL=C find . 3>&2 2>&1 1>&3 > files_and_folders | grep -v 'Permission denied'; [ $? = 1 ]; } 3>&2 2>&1

Use una canalización para pasar la secuencia de errores estándar a grep, eliminando todas las líneas que contienen la cadena 'Permission denied'.

LC_ALL=C establece la localización POSIX usando una variable de entorno , 3>&2 2>&1 1>&3 y 3>&2 2>&1 duplicate file descriptors to pipe the standard - error stream to grep, and [ $? = 1 ] usos [] para invertir el código de error devuelto por grep para aproximarse al comportamiento original de find.

  • También filtrará cualquier error 'Permission denied' debido a la redirección de salida (por ejemplo, si el archivo files_and_folders en sí no se puede escribir)
 10
Author: wjordan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-30 03:42:35

Para evitar solo las advertencias de permiso denegado, dile a find que ignore los archivos ilegibles eliminándolos de la búsqueda. Agregue una expresión como un OR a su búsqueda, como

find / \! -readable -prune -o -name '*.jbd' -ls

Esto dice principalmente a (coincidir con un archivo ilegible y podarlo de la lista) O (coincidir con un nombre como*.jbd y visualizarlo [con ls]) . (Recuerde que por defecto las expresiones son Y'd juntas a menos que utilice-or.) Necesita el-ls en la segunda expresión o de lo contrario find puede agregar una acción predeterminada para mostrar cualquiera de las coincidencias, que también le mostrará todos los archivos ilegibles.

Pero si está buscando archivos reales en su sistema, generalmente no hay razón para buscar en /dev, que tiene muchos archivos, por lo que debe agregar una expresión que excluya ese directorio, como:

find / -mount \! -readable -prune  -o  -path /dev -prune  -o  -name '*.jbd' -ls

So (match ilegible file and prune from list) OR (match path /dev and prune from list) OR (match file like*.jbd y display it).

 4
Author: simpleuser,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-16 00:59:49

Use

sudo find / -name file.txt

Es estúpido (porque elevas la búsqueda) y no seguro, pero mucho más corto para escribir.

 4
Author: mist,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-16 12:01:46

Ninguna de las respuestas anteriores funcionó para mí. Todo lo que encuentro en Internet se centra en: ocultar errores. Ninguno maneja correctamente el proceso return-code / exit-code. Utilizo el comando find dentro de scripts bash para localizar algunos directorios y luego inspeccionar su contenido. Evalúo el comando find success usando el exit-code: un valor cero funciona, de lo contrario falla.

La respuesta proporcionada anteriormente por Michael Brux funciona a veces. Pero tengo un escenario en el que falla! Descubrí la problema y lo arreglé yo mismo. Necesito podar archivos cuando:

it is a directory AND has no read access AND/OR has no execute access

Ver la cuestión clave aquí es: Y / O. Una buena secuencia de condición sugerida que leí es:

-type d ! -readable ! -executable -prune

Esto no siempre funciona. Esto significa que una poda se activa cuando una coincidencia es:

it is directory AND no read access AND no execute access

Esta secuencia de expresiones falla cuando se concede acceso de lectura pero no se concede acceso de ejecución.

Después de algunas pruebas me di cuenta de eso y cambié mi solución de script de shell a:

Buen hallazgo / inicio*/ - maxdepth 5-follow \
    \ (- tipo d-a ! \ (- legible - a-ejecutable \) \) -prune \
    - o \
    \ (- type d - a-legible-a-ejecutable-a-name" {{m_find_name}"\) - print

La clave aquí es colocar el "no verdadero"para una expresión combinada:

has read access AND has execute access

De lo Contrario no tiene acceso completo, lo que significa: podar. Esto resultó funcionar para mí en un escenario en el que las soluciones sugeridas anteriormente fallaron.

I proporcionar a continuación técnica detalles para preguntas en la sección de comentarios. Me disculpo si los detalles son excesivos.

  • ¿Por qué usar command nice? Tengo la idea aquí . Inicialmente pensé que sería bueno reducir la prioridad del proceso cuando se busca un sistema de archivos completo. Me di cuenta de que no tiene sentido para mí, ya que mi script está limitado a pocos directorios. Reduje-maxdepth a 3.
  • ¿Por qué buscar dentro de / home*/? Esto no es relevante para este hilo. Instalo todas las aplicaciones a mano a través del código fuente compilar con usuarios no privilegiados (no root). Se instalan dentro de"/home". Puedo tener múltiples binarios y versiones viviendo juntos. Necesito localizar todos los directorios, inspeccionar y hacer copias de seguridad de una manera maestro-esclavo. Puedo tener más de un "/ home " (varios discos corriendo dentro de un servidor dedicado).
  • ¿Por qué usar-follow? Los usuarios pueden crear enlaces simbólicos a directorios. Su utilidad depende, necesito mantener un registro de los caminos absolutos encontrados.
 2
Author: Jordi Ferran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:47:31

Puede usar grep-v invert-match

-v, --invert-match        select non-matching lines

Así:

find . > files_and_folders
cat files_and_folders | grep -v "permission denied" > files_and_folders

Debe a la magia

 2
Author: Leonardo Hermoso,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-27 04:02:43

-=Para macOS=-

Haga un nuevo comando usando alias: simplemente agregue~/.línea bash_profile:

alias search='find / -name $file 2>/dev/null'

Y en la nueva ventana de Terminal puedes llamarlo:

$ file=<filename or mask>; search

Por ejemplo:

File file = etc; search

 0
Author: Jan aka uptech,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-09 23:10:28

Si está utilizando CSH o TCSH, aquí hay una solución:

( find . > files_and_folders ) >& /dev/null

Si desea la salida a la terminal:

( find . > /dev/tty ) >& /dev/null

Sin embargo, como describe la FAQ "csh-whynot", no debe usar CSH.

 0
Author: Kayle Sawyer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-16 18:13:23

También es una solución fácil para poner sus resultados de búsqueda en un archivo.

Buscar . - nombre 'NameOfSearchedFile' > > resultados.txt

 -1
Author: korodani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-17 12:33:28