linux删除某个目录不是今天的所有文件
环境:linux
问题:某个目录下有很多文件,今天的文件很少,需要删除不是今天的文件
1、查找今天修改过的文件
cd /data #进入到需要删除的目录 find . -ctime -1|awk -F / '{print $2}' #找到今天修改过的文件
2、将今天的文件排除的拼接
for i in `find . -ctime -1|awk -F / '{print $2}'`;do echo -n " --ignore=\"$i\" ";done # echo -n 将所有的输出在一行展示
3、将结果用ls 和删除命令拼接出来(上面是解析,可以直接执行下面命令生成脚本)
echo -n "ls" && for i in `find . -ctime -1|awk -F / '{print $2}'`;do echo -n " --ignore=\"$i\" ";done && echo -n "|xargs rm -rvf" #结果如下
ls --ignore="today.txt" |xargs rm -rvf
4、在文件目录执行生成的命令即可删除不是今天的文件
5、简单方法-直接删除一天前的文件
1 2 3 4 5 6 7 8 9 10 11 | 1.当前时间24小时—当前时间(昨天-今天) #find . -mtime 0 2.当前时间48小时前–当前时间24小时前(前天-昨天) #find . -mtime 1 3.当前时间48小时前(2天前) #find . -mtime +1 4.当前时间24小时–当前时间(昨天-今天) #find . -mtime -1 find . -mtime 1|xargs rm -rvf find . -mtime 1 -exec rm {} \; |
做一个决定,并不难,难的是付诸行动,并且坚持到底。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)