Eliminar todos los archivos que no comienzan con una cadena determinada en una carpeta

Eliminar todos los archivos que no comienzan con una cadena determinada en una carpeta

¿Cómo puedo eliminar todos los archivos que no comienzan con "2012" en una carpeta en particular?

Esto está en OS X Lion.

Respuesta1

Utilice findpara seleccionar todos los archivos ( type f) que no ( !) comiencen con 2012 ( "2012*"). Luego rmlos (elimina) de inmediato o deja que el deleteinterruptor lo haga por usted.

find . -type f ! -name "2012*"

Tenga en cuenta que esto desciende recursivamente a subdirectorios. Si desea asegurarse de no eliminar cosas que realmente desea conservar, asegúrese de utilizar las opciones correctas (así que consulte man findpara obtener más información).

Por ejemplo, -maxdepth 1no entrará en subdirectorios.

Ahora, elimine esos archivos:

find . -type f ! -name "2012*" -delete

información relacionada