Como borrar archivos en serie en MacOs o Linux mediante un script

Encuentre y elimine archivos con un comando, La sintaxis básica del comando de búsqueda es la siguiente:

find dir-name criteria action

Donde,

  1. dir-name : – Define el directorio de trabajo como buscar en /tmp/
  2. criteria : Úselo para seleccionar archivos como “*.sh”
  3. action : La acción de búsqueda (qué hacer en el archivo), como eliminar el archivo.

Si desea eliminar varios archivos como \’.jpg\’ o \’.sh\’ con un comando de búsqueda, intente:

find . -name \"FILE-TO-FIND\" -exec rm -rf {} \\;

O

find /dir/to/search/ -type f -name \"FILE-TO-FIND-Regex\" -exec rm -f {} \\;

La única diferencia entre las dos sintaxis anteriores es que el primer comando también elimina directorios, mientras que el segundo comando solo elimina archivos. Donde, las opciones son las siguientes:

  1. -name \"FILE-TO-FIND\" : modelo de archivo.
  2. -exec rm -rf {} \\; : Elimine todos los archivos que coincidan con el patrón de archivo.
  3. -type f : Solo haga coincidir archivos y no incluya nombres de directorio.
  4. -type d : Solo haga coincidir los directorios y no incluya los nombres de los archivos.

La versión moderna del comando de búsqueda también tiene la opción -delete . En lugar de usar el -exec rm -rf {} \\;, usa el -delete para eliminar todos los archivos coincidentes. También podemos pasar explícitamente la opción -depth a find para procesar el contenido de cada directorio antes que el propio directorio. También es posible utilizar la opción -maxdepth para controlar descender en la mayoría de los niveles de directorios por debajo de los puntos de inicio. Por ejemplo, -maxdepth 0 significa aplicar únicamente las pruebas y acciones a los propios puntos de partida. Del mismo modo, podemos pasar el -mindepth al hallazgo. Significa no aplicar ninguna prueba o acción en niveles inferiores a los niveles (un número entero no negativo). Por ejemplo, -mindepth 1 significa procesar todos los archivos excepto los puntos de partida. Así que aquí hay una sintaxis simplificada:

find /dir/to/search/ -type f -name \"FILES-TO-FIND\" -delete
find /dir/to/search/ -type f -name \"FILES-TO-FIND\" -depth -delete
find /dir/to/search/ -maxdepth 2 -type f -name \"FILES-TO-FIND\" -depth -delete
Scroll al inicio