GNU/Linux >> Tutoriales Linux >  >> Linux

Excluir la lista de archivos de la búsqueda

No creo find tiene una opción como esta, podría construir un comando usando printf y su lista de exclusión:

find /dir -name "*.gz" $(printf "! -name %s " $(cat skip_files))

Que es lo mismo que hacer:

find /dir -name "*.gz" ! -name first_skip ! -name second_skip .... etc

Alternativamente, puede canalizar desde find en grep :

find /dir -name "*.gz" | grep -vFf skip_files

Esto es lo que suelo hacer para eliminar algunos archivos del resultado (en este caso, busqué todos los archivos de texto pero no estaba interesado en un montón de informes de valgrind memcheck que tenemos aquí y allá):

find . -type f -name '*.txt' ! -name '*mem*.txt'

Parece estar funcionando.


Linux
  1. ¿Excluir directorio en Buscar?

  2. ¿Excluir todos los archivos de subrayado de puntos de Rsync?

  3. ¿Obtener una lista de todos los archivos por máscara en la terminal?

  4. ¿Cómo encontrar todos los archivos que terminan en .rb con Linux?

  5. Iterar sobre una lista de archivos con espacios

Cómo encontrar archivos en Linux

Encuentra archivos grandes en Linux

Cómo encontrar recursivamente y enumerar los archivos por fecha en Linux

Listar todos los archivos de imágenes gráficas con find?

¿Cómo enumerar los archivos eliminados recientemente de un directorio?

¿Excluir archivos ocultos al buscar con Unix/Linux find?