zoukankan      html  css  js  c++  java
  • Linux下查找指定日期的文件

    一、背景

    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;
        }
  • 相关阅读:
    骚猪队的模板
    cs231n 作业2 心路历程
    cs231n 作业1 心路历程
    视觉语言导航综述Visual Language Navigation
    论文阅读DSAE,不知道VAE能不能玩的下去
    icpc 2019 word final A题 思路
    VAE 变分自动编码器入门
    luogu4827 梦美的线段树
    EOJ Monthly 2019.2 存代码
    国王游戏,高精度完全模板
  • 原文地址:https://www.cnblogs.com/yoyotl/p/8626013.html
Copyright © 2011-2022 走看看