Eliminar todos los archivos de un directorio que contengan una palabra específica

Eliminar todos los archivos de un directorio que contengan una palabra específica

Navegué a un directorio específico en el sistema de archivos y deseo eliminar todos los archivos dentro del directorio que contienen 'sofa_' en su nombre de archivo.

¿Alguien puede sugerir cómo se puede hacer esto?

Respuesta1

Si todos los archivos están en el mismo directorio (sin subdirectorios), simplemente ejecute:

rm *sofa_*

Si necesita que esto descienda a subdirectorios, utilice find:

find . -name "*sofa_*" -type f -delete

O, si está utilizando bash, habilite la globstaropción que hace **coincidir todos los archivos y 0 o más subdirectorios (lo que lo hace recursivo):

shopt -s globstar

Entonces:

rm **/*sofa_*

Respuesta2

find . -name "*sofa_*" -type f | xargs rm

O como se señala correctamente en los comentarios:

find . -name "*sofa_*" -type f -delete

información relacionada