一、背景

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;
}

Linux下查找指定日期的文件的更多相关文章

  1. linux下查找指定后缀的文件

    1.linux下查找指定后缀的文件 例如查找当前目录下的所有后缀名时.c或.h的文件 find  .  -type f -regex  ".*\.\(c\|h\)"

  2. linux 下查找大于100M的文件(转)

    命令行如下 find . -type f -size +1000000k Linux系统下查找大文件或目录的技巧 当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢 ...

  3. linux 下查找大于100M的文件

    命令行如下 find . -type f -size +100M Linux系统下查找大文件或目录的技巧 当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢?以易读 ...

  4. Window Linux下实现指定目录内文件变更的监控方法

    转自:http://qbaok.blog.163.com/blog/static/10129265201112302014782/ 对于监控指定目录内文件变更,window 系统提供了两个未公开API ...

  5. Linux备份-删除指定日期内文件

    #!/usr/bin/env bash source /etc/profile echo " *************** start filter ***************  &q ...

  6. [ 原创 ] Linux下查找指定类型文件以及删除

    find ./ -name "*.lok"   // 查找文件find ./ -name "*.lok" |xargs rm -fr  // 查找文件并删除

  7. linux下查找指定时间内修改过的或新建的文件

    1.简单命令 # find -type f \( -newermt '2017-04-19 00:00' -a -not -newermt '2017-04-27 23:59' \) 2.简单实现(参 ...

  8. while read line 查找指定日期的文件夹

    #!/bin/bash dir=/root/tmp targetdir=/root/tmp/tmp filenametxt=/tmp/filename.txt commandtxt=/tmp/comm ...

  9. [转帖]linux下查找文件及查找包含指定内容的文件常用命令。

    linux下查找文件及查找包含指定内容的文件常用命令. https://blog.csdn.net/yangyu19910407/article/details/18266821 最简单的查找 fin ...

随机推荐

  1. Java开发 - 异常 - 抛出异常

    问题: 如何抛出一个系统异常并且捕获它 代码如下: public class ThrowDemo { static void demoproc() { try { throw new NullPoin ...

  2. common.js 2017

    String.IsNullOrEmpty = function (v) { return !(typeof (v) === "string" && v.length ...

  3. [置顶] 单例模式lua实现

    --[[ 优点 一.实例控制 单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例. 二.灵活性 因为类控制了实例化过程,所以类可以灵活更改实例化过程. 缺点 一.开销 ...

  4. Java 通配符匹配查找文件

    比较了一下Java正则表达式与通配符之间的差别,很简单的进行了一下转化就行了.此外要注意String的replace和replaceAll的用法的含义,不要搞错了. 字符串匹配例子 String s  ...

  5. Git诞生

    很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与 ...

  6. 绑定域名到JavaWeb项目,由域名直接访问到网站首页

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6383996.html 一:购买域名 请移步到相关网站购买域名,我是在腾讯云买的.购买后记得实名认证,不然解析不 ...

  7. cocos2d-js 3.0 屏幕适配方案 分辨率适应

    首先介绍一个api和相应的参数: cc.view.setDesignResolutionSize(1024, 768, cc.ResolutionPolicy.FIXED_WIDTH); 这里设置游戏 ...

  8. 高级加密标准(英语:Advanced Encryption Standard,缩写:AES)

    2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一.

  9. java 解析excel工具类

      java 解析excel工具类 CreateTime--2018年3月5日16:48:08 Author:Marydon ReadExcelUtils.java import java.io.Fi ...

  10. SpringBoot之actuator

    在springBoot中集成actuator可以很方便的管理和监控应用的状态. 暴露的Restful接口有: HTTP方法 路径 描述 鉴权 GET /autoconfig 查看自动配置的使用情况 t ...