• 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.当前时间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 {} ;
    

      

      

    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    深入理解ThreadLocal
    JAVA守护线程
    JAVA THREAD.JOIN方法详解
    JAVA中断机制详解
    Socket中的异常和参数设置
    WebSocket实战
    程序里面的system.out.println()输出到其他位置,不输出到tomcat控制台。
    数据库连接未关闭,conn与rs未关闭
    Ajax简单应用-购物车
    1.链表和数组的区别在哪里?
  • 原文地址:https://www.cnblogs.com/wukc/p/13410270.html
Copyright © 2020-2023  润新知