如何删除shell上超过x秒(不是几天,几小时或几分钟)的文件?

Par*_*aia 7 bash awk

关于如何在linux上删除超过x分钟/小时/天的文件有很多问题,但没有人能达到秒分辨率.

我找到了这个解决方案:

for file in `ls -ltr --time-style=+%s | awk '{now=systime(); del_time=now-30; if($6<del_time && $5=="0") print $7}'` ;do
   rm -f $file >/dev/null 2>&1
done
Run Code Online (Sandbox Code Playgroud)

但是systime()不存在awk

"函数systime从未定义过"

但是gawk我无法在Ubuntu 13.xx上安装(并且真的不想安装任何额外的软件).

Dmi*_*rov 17

解析输出ls总是一个糟糕的方法.特别是find从GNU Findutils能够自己完成所有工作:

$ find -not -newermt '-30 seconds' -delete
Run Code Online (Sandbox Code Playgroud)