GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo usar el comando de búsqueda para eliminar archivos que coincidan con un patrón?

Solución 1:

Generalmente encuentro que usar el -exec opción para find ser más fácil y menos confuso. Prueba esto:

find . -name vmware-*.log -exec rm -i {} \;

Todo después de -exec se toma como un comando a ejecutar para cada resultado, hasta el ; , que se escapa aquí para que se pase a find . El {} se reemplaza con el nombre de archivo que find normalmente imprimiría.

Una vez que hayas verificado que hace lo que quieres, puedes eliminar el -i .

Solución 2:

Si tienes GNU find puedes usar el -delete opción:

find . -name "vmware-*.log" -delete

Para usar xargs y evita el problema de los espacios en los nombres de archivo:

find . -name vmware-*.log -print0 | xargs -0 rm

Sin embargo, sus archivos de registro no deben tener espacios en sus nombres. Es probable que los documentos de procesamiento de texto y los archivos MP3 los tengan, pero debería poder controlar los nombres de sus archivos de registro.

Solución 3:

Puedes decirle a find para delimitar la lista de salida con valores NULL y xargs para recibir su lista de entrada igual:

$ ls -l "file 1" "file 2"
-rw-r--r-- 1 james james 0 Oct 19 13:28 file 1
-rw-r--r-- 1 james james 0 Oct 19 13:28 file 2

$ find . -name 'file *' -print0 | xargs -0 ls -l
-rw-r--r-- 1 james james 0 Oct 19 13:28 ./file 1
-rw-r--r-- 1 james james 0 Oct 19 13:28 ./file 2

$ find . -name 'file *' -print0 | xargs -0 rm -v
removed `./file 2'
removed `./file 1'

Además, asegúrese de escapar del * , ya sea con una barra invertida o conteniendo el vmware-*.log entre comillas simples, de lo contrario, su shell puede intentar expandirlo antes de pasarlo a find .

Solución 4:

No olvides el -delete del hallazgo opción. Elimina el archivo sin error con caracteres especiales...


Linux
  1. Cómo encontrar el número de archivos en un directorio y subdirectorios

  2. Cómo eliminar archivos ENORMES (100-200 GB) en Linux

  3. Cómo usar el comando Grep para buscar texto en archivos

  4. ¿Cómo buscar en archivos específicos que coincidan con un patrón?

  5. Cómo usar el comando rpm2cpio en Linux

Cómo usar el comando cp para copiar archivos y directorios

Cómo usar el comando SCP para transferir archivos

Cómo usar el comando SED para buscar y reemplazar cadenas en archivos

Cómo encontrar archivos con el comando fd en Linux

Cómo quitar/eliminar archivos en Linux usando el comando rm

Cómo encontrar carpetas en Linux