精华内容
下载资源
问答
  • Linux下查找指定日期文件

    千次阅读 2018-03-25 20:37:00
    OK,问题来了,如何过滤出指定日期文件? 二、强大的Linux 一行代码搞定: ls --full-time /recordings/ | sed -n '/2018-03-21/p' 得到的文件列表就是2018-03-21生成的文件。 三、Java示例代码...

    一、背景

    Linux服务器的一个目录里,每天产生海量的文件。为了防止磁盘被写满。

    决定每天删除部分老文件。OK,问题来了,如何过滤出指定日期的文件?

     

    二、强大的Linux

    一行代码搞定:

    ls --full-time /recordings/ | sed -n '/2018-03-21/p'

    得到的文件列表就是2018-03-21生成的文件。

     

    三、Java示例代码

        public WavInfo getWavInfo(){
            WavInfo info = new WavInfo();
            List<String> list = new ArrayList<String>();
            String yestoday = new DateUtil().arroundIntervalDay(new Date(), -1);
            String month = yestoday.substring(0, 7);
            StringBuffer cmd = new StringBuffer();
            cmd.append("ls --full-time ");
            cmd.append(ConfigManager.getInstance().getRecordPath());
            cmd.append(month);
    //        cmd.append(ConfigManager.getInstance().gettMonth());
            cmd.append(" | ");
            cmd.append("sed -n '/");
            cmd.append(yestoday);
    //        cmd.append(ConfigManager.getInstance().gettDay());
            cmd.append("/p'");
            String cmdString = cmd.toString();
            logger.debug("will execute cmd : {}",cmdString);
            list = new LinuxCmdUtil().executeLinuxCmd(cmdString);
    //        new LinuxCmdUtil().executeLinuxCmdT(cmd.toString());
            if(list != null) {
    //            info.setPath(ConfigManager.getInstance().getRecordPath()+ConfigManager.getInstance().gettMonth());
    //            info.setMonth(ConfigManager.getInstance().gettMonth());
                info.setPath(ConfigManager.getInstance().getRecordPath()+month);
                info.setMonth(month);
                info.setWavList(list);
                return info;
            }
            return null;
        }

     

    转载于:https://www.cnblogs.com/yoyotl/p/8626013.html

    展开全文
  • linux文件查找指定时间段的文件

    千次阅读 2017-10-27 22:57:08
    linux文件查找指定时间段的文件


    touch -t 201710241800 t1
    touch -t 201710252100 t2


    查找排序(先旧后新),结果写到文件

    find ./ -type f -name "*.amr" -newer ./t1 ! -newer ./t2  |xargs ls -lrt  > /sdcard/amr/sort.txt


    查找排序(先新后旧),结果写到文件

    find ./ -type f -name "*.amr" -newer ./t1 ! -newer ./t2  |xargs ls -lt  > /sdcard/amr/sort.txt


    查找并拷贝到指定目录

    find ./ –name "*.amr" -newer ./t1 ! -newer ./t2  -exec cp {} /sdcard/amr/ \;
    展开全文
  • 使用find命令查找指定时间或时间段之间的数据,涉及到参数mtime 命令时间线: 今天:2020-11-11 系统时间:2020-11-11 11:11:11 以今天为基准值, --------------------------------- find /lt/logs/ -name ...

    使用find命令查找指定时间或时间段之间的数据,涉及到参数mtime

     

    命令时间线:

    今天:2020-11-11

    系统时间:2020-11-11 11:11:11

    以今天为基准值,

    ---------------------------------

    find /lt/logs/ -type f -name "*" -newermt '2020-11-08' ! -newermt '2020-11-10' | xargs ls -lt

    代表查找11-08,11-09两天的数据并以ls -lt格式进行显示;

    -type f:代表一般文件,

    -type d:d代表目录(文件夹),

     

    小技巧:

    为了避免下一步删除出现失误,也为了避免在查找时没有找到文件而将当前您所在目录的文件列表输出,在执行这两条命令之前,您可以建一个空目录,在这个空白目录里面进行操作,这样,每次查找到或未查找到都能方便验证,结果显示比较直接。

    ---------------------------------

     

    ==查找指定日期之间的文件,并删除===

    find /lt/logs/ -type f -name "*" -newermt '2020-11-08' ! -newermt '2020-11-10' -exec rm {} \;

    代表查找11-08,11-09两天的数据并进行删除,没有删除确认框;

     

    ---------------------------------

     

    备注:

    | xargs ls -lt

    xargs:代表将迁移查找出来的文件进行使用下一个命令【ls -lt】继续进行处理。

     

     

    删除的解释:【来源于“百度知道https://zhidao.baidu.com/question/551356621810102292.html”】

    问:find /lt/logs/ -name "*.pcap" -newermt '2020-11-08' ! -newermt '2020-11-10' -exec rm {} \;

    答:

    find /lt/logs/ -name "*.pcap" -newermt '2020-11-08' ! -newermt '2020-11-10' -exec rm {} \;意思从/lt/logs/当前目录查找以.pcap为文件后缀名的所有文件;

    -exec 是表示查找后紧接着执行的命令,因为rm不接受管道输入,所以不能写成find /lt/logs/ -name "*.pcap" -newermt '2020-11-08' ! -newermt '2020-11-10' | rm的形式,

    rm就是删除文件的意思;

    {} 代表的是把find 到的结果传给-exec作为参数 ;

    -exec 参数必须用分号;结尾,但是在shell中不懂分号;是什么鬼,所有要用转义符\加分号,所以就有了\;

    展开全文
  • Linux下查找指定时间内修改过的文件

    万次阅读 2016-10-10 17:35:57
    Linux下查找指定时间内修改过的文件 假如在linux下修改文件后不记得了,我们需要查找指定时间内做过改动的文件,此时我们可以用find命令来查找。 find /opt -iname "*" -atime 1 -type f 【找出 /opt 一天...
    Linux下查找指定时间内修改过的文件


    假如在linux下修改文件后不记得了,我们需要查找指定时间内做过改动的文件,此时我们可以用find命令来查找。
    find /opt -iname "*" -atime 1 -type f
    【找出 /opt 下一天前访问过的文件】
    选项 OPTIONS
    所有的选项都总是返回真值,它们总会被执行,除非放在表达式中执行不到的地方。因此,清楚起见,最好把它们放在表达式的开头部分。
    -daystart
    从当日起始时开始而不是从24小时之前,计算时间(for -amin, -atime, -cmin, -ctime, -mmin, and -mtime)。
    -amin n
    对文件的最近一次访问是在 n 分钟之前。
    -anewer file
    对文件的最近一次访问比 file 修改时间要晚。如果命令行中 -follow 在 -anewer 之前,(也只有在这种情况下 -anewer会受 -follow 的影响)。
    -atime n
    对文件的最近一次访问是在 n*24 小时之前。
    -cmin n
    对文件状态的最近一次修改是在 n 分钟之前。
    -cnewer file
    对文件状态的最近一次修改比 file 修改时间要晚。如果命令行中 -follow 在 -cnewer 之前,(也只有在这种情况下-cnewer 会受 -follow 的影响)。
    -ctime n
    对文件状态的最近一次修改是在 n*24 小时之前。
    -mmin n
    对文件数据的最近一次修改是在 n 分钟之前。
    -mtime n
    对文件数据的最近一次修改是在 n*24 小时之前。
    -mtime : 指定时间曾被改动过的文件,意思是文件?热荼桓?墓?br />
    -ctime : 指定时间曾被更改过的文件,意思是文件权限被更改过
    -atime : 指定时间曾被存取过的文件,意思是文件被读取过
    1. 时间是以 24 小时为一个单位,而不是以天的
    2. 2011/09/08 12:00 时间开始找一天?鹊模?崃谐 2011/09/07 12:00 ~ 2011/09/08 12:00 时间?鹊奈募?br />
    找出 3 天"以前"被改动过的文件 (前第三天以前 → 2011/09/05 12:00 以前的文件) (> 72 小时)
    find /var/log/ -mtime +3 -type f -print
    找出 3 天?缺桓亩??奈募 (2011/09/05 12:00 ~ 2011/09/08 12:00 ?鹊奈募? (0 ~ 72 小时??
    find /var/log/ -mtime -3 -type f -print
    找出前第 3 天被改动过的文件 (2011/09/04 12:00 ~ 2011/09/05 12:00 ?鹊奈募? (72 ~ 96 小时)
    find /var/log/ -mtime 3 -type f -print
    找出第 3 天被改动过的文件 (也可以这样写)
    find /var/log/ -mtime +2 -mtime -4 -type f -print


    转自:https://www.kafan.cn/edu/45424616.html
    展开全文
  • linux查询指定日期文件 查询当前目录日期是2019.10.30的文件 ls --full-time ./ | sed -n ‘/2019-10-30/p’
  • 查找指定路径,在2019.09.03产生的文件,例如/home/yasin/: ls --full-time /home/yasin/ | sed -n '/2019-09-03/p' 测试: 在/home/yasin/创建三个文件: 执行查看命令: ...
  • 最近有一个需求,需要将指定目录文件(已知文件名)复制到另一个指定的目录且重命名文件。 要求:在var目录下会定义系统的启动日志相关信息,请查找对应的boot.log文件,并把它备份一份到var/log 取名为...
  • 总结一下,应该叫查找固定日期内的文件,并移动或删除文件,这个对定期需要清理临时文件的兄弟应该很有用,开个crontab任务就ok了。 今天发现我的测试服务器上,有一个目录下面有非常多的小文件,由于文件非常小...
  • linux下查找某个文件位置的方法

    千次阅读 2017-09-19 09:15:49
    转自:... 因为要装pl/sql所以要查找tnsnames.ora文件。。看看怎么查这个文件linux下的哪个目录 find / -name tnsnames.ora 查到: /opt/app/oracle/product/10.2/network/admin/tnsnames.
  • linux下查找某个文件的位置

    千次阅读 2015-05-21 12:09:59
    转自http://blog.csdn.net/gray13/article/details/6365654因为要装...看看怎么查这个文件linux下的哪个目录find / -name tnsnames.ora查到:/opt/app/oracle/product/10.2/network/admin/tnsnames.ora /opt/app/or
  • linux 删除指定日期之前的文件

    千次阅读 2019-06-03 09:36:37
    在一个目录中保留最近三个月的文件,三个月前的文件自动删除。 方法一: find /www/wwwroot/media/tmp -mtime +31 -type f -name "*.*" -exec rm -rf {} \; 说明: /www/wwwroot/media/tmp --设置查找的目录; ...
  • linux中删除指定日期之前的文件

    万次阅读 2017-03-28 11:05:56
    要删除系统中就的备份文件,就需要使用命令了:  #find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;  假如在一个目录中保留最近30天的文件,30天前的文件自动删除  #find /tmp -mtime +30 -...
  • linux下查找某个文件

    千次阅读 2013-07-01 14:33:38
    举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录 ,甚至在系统的某个地方也不知道,则这是可以使用如下命令:  find / -name httpd.conf   这个命令语法看起来很容易就明白了,就是直接在find后面...
  • Linux中删除指定日期之前的文件

    千次阅读 2015-05-06 06:48:09
    要删除系统中就的备份文件,就需要使用命令了: ... #find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;... 假如在一个目录中保留最近30天的文件,30天前的文件自动删除  #find /t
  • Linux脚本 删除指定日期以前的文件

    千次阅读 2013-12-12 11:41:00
    删除修改时间七天以前的文件,加入crontab可以实现定时清理磁盘文件。 其他用法: find . –mtime n: 最后一次修改发生在距离当前时间n*24小时至(n+1)*24 小时 find . –mtime +n: 最后一次修改发生在n+1天以前,...
  • 例:查找出五分钟内修改过的文件 [root@mobius ~]$ find ./* -mmin -5 加上-mmin 参数即可, 其中后面的 -5 即表示五分钟内修改过的, 如果是+5 就是五分钟之前修改过的, 5 即是恰好五分钟前修改的 参数列表如下...
  • linux find 查找文件

    千次阅读 2021-02-23 15:02:28
    每一种操作系统都是由成千上万个不同种类的文件所组成的。... 可是使用Linux的用户就没有那么幸运了,在Linux查找某个文件确实是一件比较麻烦的事情。毕竟在Linux中需要我们使用专用的“查找”命令来寻找在硬盘上的.
  • linux 查找指定时间段创建的文件

    千次阅读 2018-08-01 18:13:36
    #!/bin/bash begintime=`date -d -1hour +%T` echo $begintime endtime=`date +%T` echo $endtime find -name '*.jpg' -newermt $begintime ! -newermt $endtime

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,209
精华内容 18,883
关键字:

linux下查找指定日期的文件

linux 订阅