Как я могу использовать скрипт для удаления файлов в зависимости от того, сколько я их использую?
В каталоге находится большое количество файлов. Я хотел бы сохранить такие файлы, которые я использую (открываю) очень часто. Я хотел бы удалить те, которые я не использовал в определенный период.
Вы захотите использовать свойство метки времени на рассматриваемых файлах. Я рекомендовал бы писать простой сценарий в ударе что-то вроде этого:
#!/bin/bash
for i in `ls -1 *.log`
do
myfile=`ls -l $i | awk '{print $6,$7,$9}'`
if [[ ${myfile% *} = 'Jan 1' ]];
then
echo "Removing ${myfile##* }"
#rm ${myfile##* }
else
echo "Failed to remove file ${myfile##* }"
fi
done
Дают ему попытку. Если этот сценарий дает Вам, что Вы ищете, то просто удаляют "#" символ перед командой RM для выполнения операции удаления.
Можно использовать следующую команду для удаления файлов, которые были в последний раз изменены 7 или больше дней назад.
find <directory path> -ctime +7 -delete