加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:25:13 所属栏目:安全 来源:网络整理
导读:关于如何在 linux上删除超过x分钟/小时/天的文件有很多问题,但没有人能达到秒分辨率. 我找到了这个解决方案: for file in `ls -ltr --time-style=+%s | awk '{now=systime(); del_time=now-30; if($6del_time $5=="0") print $7}'` ;do rm -f $file /dev/nu
关于如何在 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

但是awk上没有systime()

“function systime never defined”

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

解析ls的输出总是一个糟糕的方法.特别是当从GNU Findutils找到能够完成所有工作时:
$find -not -newermt '-30 seconds' -delete

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读