Как я могу использовать скрипт для удаления файлов в зависимости от того, сколько я их использую?
В каталоге находится большое количество файлов. Я хотел бы сохранить такие файлы, которые я использую (открываю) очень часто. Я хотел бы удалить те, которые я не использовал в определенный период.
Вы захотите использовать свойство метки времени на рассматриваемых файлах. Я рекомендовал бы писать простой сценарий в ударе что-то вроде этого:
#!/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 для выполнения операции удаления.
find ... -ctime ...
, как @PrathuBaronia предполагают ниже? – Philipp Kief 14.05.2020, 11:22ls
команда. Это - плохая практика. Читайте mywiki.wooledge.org/ParsingLs – Codingale 14.05.2020, 11:22