我一直在寻找答案。
我的托管环境不允许我使用find命令。有没有办法在目录中搜索超过30天的所有文件并删除/ rm它们?任何阅读或例子将不胜感激。
提前致谢。
答案 0 :(得分:2)
尝试这样的事情:
touch -d 'now -30 days' reference_file
for f in *; do
if [ "$f" -ot reference_file ]; then
rm "$f"
fi
done
或者touch
也在黑名单上?
答案 1 :(得分:1)
要求救援!
如果是单个目录,您可以将格式化的时间戳从ls
提供给一个简单的awk脚本来进行过滤
ls -lt --time-style="+%Y %m %d %H %M %S" | awk '{ts=mktime($6 " " $7 " " $8 " " $9 " " $10 " " $11)} ts<systime()-30*24*60*60'