Linux如何查找某个时间点后生成的空文件

今天遇到一个特殊需求,需要找到某天(例如2017-04-13)以及这之后生成的空文件。那么这个要怎么处理呢?这个当然是用find命令来解决。如下所示,

-mtime -5 表示查找距现在 5*24H 内修改过的文件

-type f -empty 表示空文件

由于需要以显示修改时间等文件信息,所以使用-exec ls -lt {}\; 具体命令如下所示:

$ find ./ -mtime -5 -type f -empty -exec ls -lt {} \; | more
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 15 21:30 ./PO/KK_WIS/in/POGETWISI09L3302.txt
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 15 23:40 ./PO/KK_WIS/log/POGETWISI09H3302.16643223.out
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 16 03:24 ./PO/KK_WIS/log/POGETWISI13R3705.16646635.out
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 15 23:43 ./PO/KK_WIS/log/POGETWISI09D3302.16643223.log
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 16 03:24 ./PO/KK_WIS/log/POGETWISI13R3705.16646635.log
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 15 03:25 ./PO/KK_WIS/log/POGETWISI13R3704.16643862.log
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 15 23:41 ./PO/KK_WIS/log/POGETWISI09L3302.16643223.out
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 15 23:40 ./PO/KK_WIS/log/POGETWISI09H3302.16643223.log
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 15 23:42 ./PO/KK_WIS/log/POGETWISI09S3302.16643223.out
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 15 23:41 ./PO/KK_WIS/log/POGETWISI09L3302.16643223.log
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 15 23:42 ./PO/KK_WIS/log/POGETWISI09S3302.16643223.log
............................................................

 

如果我们需要按修改时间做一个排序,那么可以使用下面命令:

$ find ./ -mtime -5 -type f -empty -exec ls -lt {} \; | sort -n -k6 |more
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 13 22:00 ./PO/CC_B2B/log/20170413.download.CICN.lst
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 13 22:00 ./PO/CC_B2B/log/20170413.download.FFI-EEL.lst
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 13 22:00 ./PO/CC_B2B/log/20170413.download.FFI-GET.lst
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 13 22:00 ./PO/CC_B2B/log/20170413.download.HSOCN-EEL.lst
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 13 22:00 ./PO/CC_B2B/log/20170413.download.HSOCN-GET.lst
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 13 23:01 ./PO/CC_B2B/arch/SOEELB2BI16N3473.16631117.txt
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 13 23:05 ./AP/CC_B2B/arch/APEELB2BLABI01H2919.16631124.txt
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 13 23:30 ./AP/CC_B2B/arch/APEELB2BI01H3660.16631214.txt
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 14 22:00 ./PO/CC_B2B/log/20170414.download.CICN.lst
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 14 22:00 ./PO/CC_B2B/log/20170414.download.FFI-EEL.lst
-rw-r--r--. 1 oaintprd oaintprd 0 Apr 14 22:00 ./PO/CC_B2B/log/20170414.download.FFI-GET.lst
............................................................
时间: 2024-09-28 18:23:13

Linux如何查找某个时间点后生成的空文件的相关文章

Linux如何查找处理文件名后包含空格的文件

Linux如何查找处理文件名后包含空格的文件   当Linux下文件名中出现空格这类特殊情况话,如何查找或确认那些文件名后有空格呢? 又怎么批量替换处理掉这些空格呢?     方法1: 输入文件名后使用Tab键,如果使用Tab键后面出现\ \ \这样的可见字符,那么该文件名包含空格.当然,这个方法弊端很大,例如,效率低下,不能批量查找,只有当你怀疑某个文件名后有空格,这个方法才比较凑效.另外,不能查找文件中间包含空格的文件名.如下测试所示:   [root@DB-Server kerry]# c

find 按文件修改时间查找文件及find空文件夹

  查找两天前修改过的文件: find . -type f -mtime -2 查找3天内修改过的文件: find -ctime -3 find命令使用超过6天,空文件独立查询命令: find /data/backup -ctime +6 -exec rm -f {} ; 删除/data/backup目录下修改时间超过6天的文件. find /data/backup -type d -empty -exec rmdir {} ; >/dev/null 2>&1 删除/data/back

如何在Linux系统上显示当前及子目录中的文件数量

在本指南中,我们将介绍如何在 Linux 系统上显示当前工作目录或任何目录及其子目录中的文件数量. 我们将使用 find 命令,它用于搜索目录层次结构中的文件,以及 wc 命令,它会打印每个文件或来自标准输入的换行符.单词和字节计数. 以下是我们在 find 命令中使用的选项,如下所示: -type - 指定要搜索的文件类型,在上面的情况下,f 表示查找所有常规文件. -print - 打印文件绝对路径. 以下是我们 wc 命令中使用的选项,如下所示: -l - 此选项打印换行符的总数,也即由

详解Linux中查找目录和文件的find和locate命令

  find find 路径 -命令参数 [输出形式] 参数说明: 路径:告诉find在哪儿去找你要的东西, 命令参数:参数很多下面会说到 输出形式:输出形式很多,-print,-printf,-print0,-exec,-ok,-ls反正很多自己看手册吧. 说一下exec, -exec find命令对匹配的文件执行该参数所给出的其他linux命令.相应命令的形式为' 命令 - and' {} ;,注意{ }和;之间的空格. -ok 和- exec的作用相同,只不过和会人交互而已,OK执行前会向

Linux下查找指定时间内修改过的文件

  假如在linux下修改文件后不记得了,我们需要查找指定时间内做过改动的文件,此时我们可以用find命令来查找. find /opt -iname "*" -atime 1 -type f [找出 /opt 下一天前访问过的文件] 选项 OPTIONS 所有的选项都总是返回真值,它们总会被执行,除非放在表达式中执行不到的地方.因此,清楚起见,最好把它们放在表达式的开头部分. -daystart 从当日起始时开始而不是从24小时之前,计算时间(for -amin, -atime, -c

如何在 Linux 中查找一个文件

对于新手而言,在 Linux 中使用命令行可能会非常不方便.没有图形界面,很难在不同文件夹间浏览,找到需要的文件.本篇教程中,我会展示如何在 Linux 中查找特定的文件. 第一步要做的是通过 SSH 连接到你的 Linux.在 Linux 中查找文件有两种方法.一种是使用 find 命令,另外一种是使用 locate 命令.我们先看第一种. find 命令 使用 Linux find 命令可以用不同的搜索标准如名字.类型.所属人.大小等来搜索目录树.基本语法如下: # find path ex

在Linux中查找用户帐户信息和登录详细信息的11种方法

本文将介绍 11 种在 Linux 系统查找用户相关信息的有用方法.这里,我们会讲解在系统中获取一个用户账户详细信息.展示登录详细信息以及用户行为数据的命令. 如果你想要在 Linux 中添加用户,可以使用 useradd 工具,如果希望修改一个现有用户账户的属性,就可使用下面的指南中所提到的 usermod 命令: 关于 useradd 命令的 15 个实用示例 https://www.tecmint.com/add-users-in-linux/ 关于 usermod 命令的 15 个实用示

fdupes:Linux 中查找并删除重复文件的命令行工具

对于大多数计算机用户而言,查找并替换重复的文件是一个常见的需求.查找并移除重复文件真是一项令人不胜其烦的工作,它耗时又耗力.但如果你的机器上跑着GNU/Linux,那么查找重复文件会变得十分简单,这多亏了fdupes工具. fdupes--在Linux中查找并删除重复文件 fdupes是啥东东? fdupes是Linux下的一个工具,它由Adrian Lopez用C编程语言编写并基于MIT许可证发行,该应用程序可以在指定的目录及子目录中查找重复的文件.fdupes通过对比文件的MD5签名,以及逐

linux find查找命令技巧

linux查找命令很多,其中最复杂和常用的就是find命令. which      查看可执行文件的位置 whereis    查看文件的位置 locate     配合数据库查看文件位置 find       实际搜寻硬盘查询文件名称  find命令的一般格式: find pathname -options [-print -exec -ok ...] pathname: find命令所查找的目录路径.例如用.来表示当前目录,用/来表示系统根目录. -print: find命令将匹配的文件输出