我如何使用脚本根据文件使用频率来删除文件?
目录下有大量文件。我想保留那些我经常使用(打开)的文件。我想删除那些我在一段时间内没有使用过的文件。
答案1
您需要对相关文件使用时间戳属性。我建议在 bash 中编写一个简单的脚本,如下所示:
#!/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 命令前面的“#”字符,就可以执行删除操作。
答案2
您可以使用以下命令删除7天或更早之前最后修改的文件。
find <directory path> -ctime +7 -delete