Удалите файлы, более старые, чем X дней +

Обычно нет никакой потребности вручную добавить репозиторий; установщик Chrome делает это автоматически. Это похоже на репозиторий/пакет, который Вы используете, зависит от программного обеспечения, которое только включено в более поздние версии Ubuntu. Я предложил бы, чтобы Вы отменили шаги, описанные в ссылке, которую Вы отправили, затем используйте установщик Chrome.

152
08.04.2015, 01:41
4 ответа

Будьте осторожны со специальными именами файлов (пробелы, кавычки) при конвейерной разводке в rm.

Есть безопасная альтернатива - опция -удаление :

find /path/to/directory/ -mindepth 1 -mtime +5 -delete

Вот и все, нет отдельного rm вызова и вам не нужно беспокоиться об именах файлов.

Замените -удаление на -глубокий -принт, чтобы протестировать эту команду перед ее выполнением (-удаление подразумевает -глубокий).

256
27.01.2020, 19:28

Это то же самое. Вам просто нужно предоставить родительский каталог, а не префикс файлов. В вашем примере было бы:

find /path/to -type f -mtime +5 -exec rm {} \;

Это удалит все файлы старше 5 дней, которые находятся под / Путь / к и его подкаталоги.

Чтобы удалить пустые подкаталоги, обратитесь к комментарию @Costas выше.

8
27.01.2020, 19:28

Обратите внимание, что эта команда не будет работать, если она найдет слишком много файлов. Она выдаст ошибку типа:

bash: /usr/bin/find: Argument list too long

Это означает, что превышено ограничение системного вызова exec на длину командной строки. Вместо выполнения rm таким образом гораздо эффективнее использовать xargs. Вот пример, который работает:

find /root/Maildir/ -mindepth 1 -type f -mtime +14 | xargs rm

Это удалит все файлы (тип f), измененные более 14 дней назад в каталоге /root/Maildir/ рекурсивно оттуда и глубже (mindepth 1). Дополнительные возможности см. в руководстве find.

17
27.01.2020, 19:28
find. -mtime +3 -type f -not -name '*pid*' |xargs rm -rf
-1
20.08.2021, 12:35

Теги

Похожие вопросы