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;
}
Linux下查找指定日期的文件的更多相关文章
- linux下查找指定后缀的文件
1.linux下查找指定后缀的文件 例如查找当前目录下的所有后缀名时.c或.h的文件 find . -type f -regex ".*\.\(c\|h\)"
- linux 下查找大于100M的文件(转)
命令行如下 find . -type f -size +1000000k Linux系统下查找大文件或目录的技巧 当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢 ...
- linux 下查找大于100M的文件
命令行如下 find . -type f -size +100M Linux系统下查找大文件或目录的技巧 当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢?以易读 ...
- Window Linux下实现指定目录内文件变更的监控方法
转自:http://qbaok.blog.163.com/blog/static/10129265201112302014782/ 对于监控指定目录内文件变更,window 系统提供了两个未公开API ...
- Linux备份-删除指定日期内文件
#!/usr/bin/env bash source /etc/profile echo " *************** start filter *************** &q ...
- [ 原创 ] Linux下查找指定类型文件以及删除
find ./ -name "*.lok" // 查找文件find ./ -name "*.lok" |xargs rm -fr // 查找文件并删除
- linux下查找指定时间内修改过的或新建的文件
1.简单命令 # find -type f \( -newermt '2017-04-19 00:00' -a -not -newermt '2017-04-27 23:59' \) 2.简单实现(参 ...
- while read line 查找指定日期的文件夹
#!/bin/bash dir=/root/tmp targetdir=/root/tmp/tmp filenametxt=/tmp/filename.txt commandtxt=/tmp/comm ...
- [转帖]linux下查找文件及查找包含指定内容的文件常用命令。
linux下查找文件及查找包含指定内容的文件常用命令. https://blog.csdn.net/yangyu19910407/article/details/18266821 最简单的查找 fin ...
随机推荐
- 使用Filter过滤非法内容
1.首先,需要编写一个响应的封装器ResponseReplaceWrapper,用它来缓存response中的内容,代码如下: ResponseReplaceWrapper.java package ...
- 使用instantclient_11_2 和PL/SQL Developer工具包连接oracle 11g远程数据库(转)
1,先到Oracle网站下载Instant Client : http://www.oracle.com/technology/global/cn/software/tech/oci/instantc ...
- Direct hosting of SMB over TCP/IP
http://support.microsoft.com/kb/204279 System TipThis article applies to a different version of Wind ...
- Nginx+Lua+Redis构建高并发应用
一. 源文来自:http://www.ttlsa.com/nginx/nginx-lua-redis/ 二. 预览如下:
- tomcat6url请求400错误(%2F与%5C)
近期几天,开发接口时.tomcat报了400错误,查了下原因. 错误原因:url中參数部分包括/,默认tomcat是不支持url參数包括: /(%2F),\(%5C). 解析方法:能够通过加入配置Do ...
- mybatis批量删除(逻辑删除)
在Mapper.xml文件中 <!-- 批量删除 --> <delete id="deleteAd" parameterType="java.util. ...
- 【Linux】将一个命令的输出发送给另外一个命令
一个命令的输出可以作为下一个命令的输入,下一个命令的输出又会传递给下一个命令 我们通常使用管道和子shell的方法来组合多个命令的输出 格式 $ cmd1 |cmd2 | cmd3 这里的3个组合命令 ...
- 整合ssm框架之配置文件
原文:https://blog.csdn.net/zwyanqing/article/details/53039591 ssm整合 一.applicationContext.xml 1.配置数据源 & ...
- 在string资源中添加变量
public void checkModeByAction() { if(TxrjConstant.ACTION_ADD_RECIPIENT.equals(getIntent().getAct ...
- ios中键盘处理(二)
设置UIscrollview的背景代码 - (UIImage *) ImageWithColor: (UIColor *) color frame:(CGRect)aFrame { UIGraphic ...