GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo hago para que find excluya la carpeta en la que busca?

La forma más fácil sería simplemente agregar -mindepth 1 , que omitirá la primera jerarquía de profundidad y, por lo tanto, omitirá su directorio principal.

Además, no necesitas un -exec extra llamar a rm , solo puedes delete las carpetas directamente si están vacías.

find /var/www/html/content/processing -mindepth 1 -type d -mtime +1 -delete

Si no están vacíos:

find /var/www/html/content/processing -mindepth 1 -type d -mtime +1 -exec rm -rf {} \;

Si eres perezoso, también puedes expandir un comodín. Desde * no incluye el directorio actual por defecto (a menos que dotglob está configurado), también puede hacer:

find /var/www/html/content/processing/* -type d -mtime +1 -delete

Sin embargo, esto tampoco incluiría carpetas ocultas, de nuevo debido al dotglob opción.


El problema es que find devuelve el directorio actual (.) junto con los demás directorios, por lo que elimina la carpeta de procesamiento y los subdirectorios. Una forma rápida de evitarlo sería agregar la opción

-not -name .

lo que evita que find genere el directorio actual y, a su vez, evita que se elimine.

Eso funcionaría si estuviera ejecutando el comando dentro del directorio de procesamiento, para tener en cuenta el hecho de que está utilizando una ruta absoluta:

-not -name /var/www/html/content/processing

Y todo el comando sería:

find /var/www/html/content/processing -type d -mtime +1 -not -name /var/www/html/content/processing -exec rm -rf {} \;

Linux
  1. ¿Excluir directorio en Buscar?

  2. ¿Buscar directorio de exclusión?

  3. ¿Cómo hacer que un directorio compartido sea accesible mediante Sftp?

  4. cómo encontrar el propietario de un archivo o directorio en python

  5. ¿Cómo encuentro el tamaño máximo de pila?

Cómo contar archivos en el directorio en Linux

Cómo encontrar el tamaño de un directorio en Linux

Eliminar directorio en Linux:cómo eliminar una carpeta desde la línea de comandos

Cómo excluir un directorio al buscar archivos en Linux

Cómo encontrar el tamaño total de un directorio en Linux

El comando find Directory de Linux:Explicación