12 votos

¿Cómo puedo utilizar un comando para eliminar todos los archivos en Descargas cuyas fechas añadidas son mayores de 1 año?

Estoy usando un Mac. ¿Cómo puedo utilizar un comando para eliminar todos los archivos en ~/Downloads cuyas fechas añadidas son superiores a 1 año?

1 votos

¿Busca específicamente un comando de terminal, o bastaría con algo como una acción de Automator?

1 votos

¿Qué quiere decir con "cuyas fechas se añaden"? ¿Se añaden a qué y cómo?

1 votos

@Allan Comprueba "Ver > Ordenar por" o las columnas disponibles en "Opciones de vista" en el Finder; OS X rastrea la fecha en que un elemento se añadió a una carpeta.

24voto

Douglas Puntos 10417

Es un comando relativamente sencillo para eliminar archivos dentro de un directorio mayor a un año. Por ejemplo, el siguiente comando ejecutado en Terminal

find ~/Downloads/ -type f -mtime +365 -exec rm {} \;

borrará todos los archivos en el ~/Downloads directorio de más de un año.

  • find es el comando que busca "cosas"

  • -type f dice lo que hay que buscar, en este caso archivos

  • -mtime +365 dice que el tiempo modificado debe ser superior a 365 días

  • -exec rm {} pasa (ejecuta) cada elemento "encontrado" al comando rm

Lo que me gusta hacer es probarlo excluyendo el -exec rm {} \; y asegurarme de que estoy obteniendo los resultados correctos. Una vez que estoy seguro, simplemente lo añado para completar la eliminación.

¡¡Una advertencia!! Estos archivos no se añaden a tu "Papelera". El comando pasa por alto la Papelera y se borran inmediatamente, así que úselo con precaución.


Una forma más segura...

(Gracias al usuario lucasoldaini en los comentarios de abajo)

Si quieres mover tus archivos a la "Papelera", simplemente sustituye el -exec rm {} \; parte a -exec mv {} ~/.Trash \;

Permanecerán en su papelera hasta la próxima vez que la vacíe.

Puede obtener más información sobre cada comando consultando sus páginas de manual:

6 votos

En lugar de utilizar rm podría mover los archivos a ~/.Trash para evitar que se borren inmediatamente.

2 votos

Tenga en cuenta que fecha de modificación (con la que opera esta respuesta) es diferente a fecha añadida . Además, Safari establecerá la fecha de modificación de un archivo descargado a la que proporcionada por el servidor si está disponible, por lo que incluso un archivo descargado ayer puede tener una fecha de modificación de hace más de un año.

2 votos

Si tienes homebrew: brew install basura y en su lugar rm utilizar el comando basura a partir de ahora.

10voto

jer-el Puntos 181

Si quieres usar Automator puedes construir una acción así:

Encontrar artículos del buscador - Buscar descargas - Todo lo siguiente es cierto: -La fecha de creación no está en los últimos 365 días.

Obtenga los artículos seleccionados del buscador

Mover los elementos del buscador a la basura

Conveniencia de las capturas de pantalla: Automator Actions

7voto

reboot Puntos 51

Mi elección de herramienta es Hazel es un software multiuso de bajo coste que hace cosas a los archivos y carpetas cuando coinciden con ciertas reglas que usted establece. Esta regla moverá los archivos no añadidos el último año de la carpeta Archivos de la empresa . A diferencia de la solución de la línea de comandos anterior, se ejecuta todos los días, por lo que es una solución de establecer y olvidar. Screenshot of Hazel pref pane

0 votos

Esta es la mejor solución, ya que en realidad utiliza la fecha de adición en lugar de la fecha de modificación, que puede no ser la misma. Una solución de línea de comandos podría buscar kMDItemDateAdded en mdls pero recomiendo encarecidamente la solución Hazel en su lugar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X