Respuestas:
Puedes hacerlo con este comando
find /path/to/files* -mtime +365 -exec rm {} \;
Algunos explican
/path/to/files* es la ruta a los archivos.
-mtimese usa para especificar el número de días que tiene el archivo. +365 encontrará archivos de más de 365 días, que es un año
-exec le permite pasar un comando como rm.
Editar Gracias a @Oli note -> puedes hacerlo de la siguiente manera:
find /path/to/files* -mtime +365 -delete
"{}"en {}antes de pasarla a find, en primer lugar, y luego findla sustituye por su cotización. {}Se sugiere en el caso {y }ellos mismos pueden a veces ser tratados especialmente por el shell - que nada tiene que hacer con espacios en blanco. Y a menudo {}no es necesario citarlo. No puedo pensar en ninguna situación, al menos al invocar el hallazgo de un shell de estilo Bourne, cuando {}, sin nada dentro, apareciendo por sí mismo como argumento, tiene que ser citado. ¿Puedes?)
findmanijas se escapan por sí mismas, pero no es un mal hábito estar haciendo scripts. No duele
findno se maneja el escape, "{}"todavía tendría el mismo efecto que: {}simplemente ninguno de los dos funcionaría, en lugar de que ambos funcionen. Eso {}y "{}"comportarse igual no es, y no puede ser, debido a alguna característica especial de encontrar. Confundir lo que se expande por el shell con lo que se expande por algún otro programa es un mal hábito. Todos cometemos ese error ocasionalmente, pero sigue siendo un error, no una mejor práctica. (Todavía podría citarse {}para ayudar a los humanos a ver que no es un patrón para la expansión de llaves, pero eso no está relacionado con la división de palabras).
{}in-exec(para que se lea-exec rm "{}" \;). Esto asegura que los espacios se manejen correctamente ... Y podría usar la-deletefunción en lugar de-exec.