Відповіді:
Ви можете зробити це за допомогою цієї команди
find /path/to/files* -mtime +365 -exec rm {} \;
Деякі пояснюють
/path/to/files* це шлях до файлів.
-mtimeвикористовується для визначення кількості днів, у яких цей файл. +365 знайде файли старше 365 днів, що становить один рік
-exec дозволяє передавати таку команду, як rm.
Редагувати Завдяки @Oli note -> ви можете це зробити:
find /path/to/files* -mtime +365 -delete
"{}"в {}перед передачею його findв першу чергу, а потім findзамінниками для нього Цитування. {}Пропонується в разі {і }самі можуть іноді бути оброблені спеціально оболонкою - яка не має ніякого відношення до І це часто {}не потрібно цитувати. Я не можу придумати жодної ситуації, принаймні тоді, коли виклик знахідки з оболонки в стилі Борна, коли {}, не маючи всередині себе, не з'явившись як аргумент, треба цитувати. Ви можете?)
findручки рятуються для себе, але це не погана звичка бути під час створення сценаріїв. Це не боляче.
findне впоралися з втечею, "{}"все одно матимуть такий же ефект, як - {}просто б і не працювало, замість того, щоб обидва працювали. Та {}й "{}"поводитись так само не - і не може бути - через якусь особливість знаходження. Плутати те, що розширюється оболонкою, і те, що розширюється якоюсь іншою програмою, - це погана звичка. Ми всі робимо цю помилку періодично, але все ж помилка - не найкраща практика. (Можна все-таки цитувати, {}щоб допомогти людям зрозуміти, що це не зразок для розширення дужок, але це не пов'язане з розщепленням слів.)
{}в-exec(так воно читається-exec rm "{}" \;). Це гарантує правильне оброблення пробілів ... І ви можете просто використовувати-deleteфункцію замість-exec.