it-swarm-es.com

Eliminar archivos en un directorio que coincide con un regex, usando un terminal MAC

¿Cómo elimino los archivos en un directorio que coinciden con una regulación determinada, o una solución similar, utilizando un terminal MAC?

3
adardesign

Utilice el comando find.

Encuentre todos los archivos (recursivamente) a la coincidencia de un regex: find . -type f -regex '/ex/'
Encuentre todos los archivos (recursivamente) que coincidan con un regeo y elimínelos: find . -type f -regex '/ex/' -exec rm {} \;

Los corchetes almacenan el parto encontrado, y la barra invertida se escapa al punto y coma porque se pasa para encontrar; Sin escaparlo, sería consumido por la cáscara. Si eso pasó por encima de tu cabeza, lee los dos primeros capítulos de "Aprender la cáscara de bash".

Revise las páginas de hombre para find para más opciones. Hay muchas más formas de buscar.

11
jorelli

Muy similar a la respuesta de Jorelli. Esto es lo que uso:

find . -regex '/ex/' -print0 | xargs -0 rm

El -print0 y -0 Argumentos Causa Encuentre que emite una lista de caracteres separados y XARGS para realizar el comando rm en cada elemento de la lista, por lo que las rutas con espacios no sean un problema.

2
Sergio Acosta