使用ls筛选某一天的文件
来源:互联网 发布:js实现点击图片放大 编辑:程序博客网 时间:2024/05/17 05:53
使用ls筛选某一天的文件
ls命令,即便是对于程序开发人员,也可以说是使用频率最高的一个命令了。但是,在很多人的印象中,ls命令仅仅是用来查看目录与文件的命令而已。如果要说筛选文件,你的第一反应可能是:find命令。但也许,它并不能满足你的需求。
先来说说,启发我使用ls命令筛选文件的应用场景吧:
[afe:/home/afe/corpftp/NJ000066/bkzipfile]>ls|wc -l4768[afe:/home/afe/corpftp/NJ000066/bkzipfile]>l|head -9总用量 3985504-rw-r----- 1 afe afe 174984 6月 1 2016 CXQQP100H1013601020010000A8YHYH00023420160506000002.zip-rw-r----- 1 afe afe 178451 6月 1 2016 CXQQP100H1013601020010000A8YHYH00023420160506000003.zip-rw-r----- 1 afe afe 186625 6月 1 2016 CXQQP100H1013601020010000A8YHYH00023420160507000001.zip-rw-r----- 1 afe afe 175124 6月 1 2016 CXQQP100H1013601020010000A8YHYH00023420160509000001.zip-rw-r----- 1 afe afe 181216 6月 1 2016 CXQQP100H1013601020010000A8YHYH00023420160509000002.zip-rw-r----- 1 afe afe 175539 6月 1 2016 CXQQP100H1013601020010000A8YHYH00023420160509000003.zip-rw-r----- 1 afe afe 182295 6月 1 2016 CXQQP100H1013601020010000A8YHYH00023420160510000002.zip-rw-r----- 1 afe afe 197808 6月 1 2016 CXQQP100H1013601020010000A8YHYH00023420160510000003.zip
在上面的例子中,目录中共计有4768个文件,每天的文件个数是不确定的,可能是几个、几十个或者上百个。刚好,你需要确定某一天的文件个数呢?你会怎么办呢?
使用find命令是满足需求的,因为find命令的时间筛选都是基于范围的,你只能用它查找以当前时间为起点,若干个小时之内(之外),或者若干天之内(之外)的文件。而需要精确查找某一天的文件,它是无法达到要求的。
[afe:/home/afe/corpftp/NJ000066/bkzipfile]>find . -type f -mtime -2 -exec ls -lt {} \;# 不难发现,基于find命令的输出,无法精确筛选某一天的文件-rw-r--r-- 1 afeftp afeftp 580066 5月 2 08:34 ./KZQQP100H1013601020010000A8YHYH00023420170502000007.zip?-rw-r--r-- 1 afeftp afeftp 710885 5月 2 08:24 ./KZQQP100H1013601020010000A8YHYH00023420170502000008.zip?-rw-r--r-- 1 afeftp afeftp 182472 4月 30 11:04 ./CXQQP100H1013601020010000A8YHYH00023420170430000002.zip?-rw-r--r-- 1 afeftp afeftp 1738260 5月 2 08:34 ./KZQQP100H1013601020010000A8YHYH00023420170502000009.zip?-rw-r--r-- 1 afeftp afeftp 343480 5月 2 08:24 ./KZQQP100H1013601020010000A8YHYH00023420170427000045.zip?-rw-r--r-- 1 afeftp afeftp 222953 5月 2 09:14 ./CXQQP100H1013601020010000A8YHYH00023420170502000026.zip?-rw-r--r-- 1 afeftp afeftp 180948 5月 2 08:04 ./CXQQP100H1013601020010000A8YHYH00023420170502000002.zip?
也许我们可以结合ls、stat、awk、grep命令,就像下面这样:
[afe:/home/afe/corpftp/NJ000066/bkzipfile]>ls|xargs stat |grep Modify|awk '{print $2}'|grep 2017-05-01|wc -l4# 下面是截取ls -lt的部分输出,便于对比上述命令统计结果是否与实际相符-rw-r--r-- 1 afeftp afeftp 345321 4月 30 20:54 KZQQP100H1013601020010000A8YHYH00023420170430000004.zip?-rw-r--r-- 1 afeftp afeftp 177206 5月 1 09:04 CXQQP100H1013601020010000A8YHYH00023420170501000001.zip?-rw-r--r-- 1 afeftp afeftp 195418 5月 1 14:04 CXQQP100H1013601020010000A8YHYH00023420170501000002.zip?-rw-r--r-- 1 afeftp afeftp 179600 5月 1 17:04 CXQQP100H1013601020010000A8YHYH00023420170501000005.zip?-rw-r--r-- 1 afeftp afeftp 175210 5月 1 18:04 CXQQP100H1013601020010000A8YHYH00023420170501000006.zip?-rw-r--r-- 1 afeftp afeftp 178690 5月 2 07:04 CXQQP100H1013601020010000A8YHYH00023420170502000001.zip?
对比上面的输出,应该说组合命令达到了我们的预期要求。但是,有没更简单的方法呢?答案就是:ls -lt –time-style=long-iso,输出如下:
[afe:/home/afe/corpftp/NJ000066/bkzipfile]>ls -l --time-style=long-iso# 以下是部分输出-rw-r--r-- 1 afeftp afeftp 1041525 2017-04-29 13:00 KZQQP100H1013601020010000A8YHYH00023420170428000125.zip?-rw-r--r-- 1 afeftp afeftp 347335 2017-04-29 13:00 KZQQP100H1013601020010000A8YHYH00023420170428000135.zip?-rw-r--r-- 1 afeftp afeftp 345547 2017-04-30 20:54 KZQQP100H1013601020010000A8YHYH00023420170430000003.zip?-rw-r--r-- 1 afeftp afeftp 345321 2017-04-30 20:54 KZQQP100H1013601020010000A8YHYH00023420170430000004.zip?-rw-r--r-- 1 afeftp afeftp 1158377 2017-05-02 08:34 KZQQP100H1013601020010000A8YHYH00023420170502000003.zip?-rw-r--r-- 1 afeftp afeftp 1544723 2017-05-02 08:14 KZQQP100H1013601020010000A8YHYH00023420170502000004.zip?
不难得出,更简单的搜索命令:
[afe:/home/afe/corpftp/NJ000066/bkzipfile]>ls -l --time-style=long-iso|grep 2017-05-01|wc -l4
ok,输出一致,目标达成。
0 0
- 使用ls筛选某一天的文件
- ls命令列出某一天以及文件名模糊查…
- java使用FileFilter筛选文件
- vb.net 的 openFileDialog 控件文件筛选器使用
- 使用sed在某一行插入另一个文件的内容
- 5.使用按钮查找某一路径下的文件
- 两个文件,按照一个文件中的某一列筛选另一个文件中的数据
- linux下ls的使用
- 从mysqldump文件中提取某一天某一表格的sql语句
- 寻找某一类型的文件
- 注意筛选器的使用
- 使用Calendar实现查询某一周的某一天的日期
- ls小程序,使用到文件信息和权限等的获取
- Win7系统使用ftp的dir或ls命令无法查看文件列表
- linux中如何使用ls命令查看s开头的文件?
- 使用 ajax+php system函数,控制 linux执行 ls 命令,显示linux服务器上的文件
- linux命令之cd,ls,vi进入及退出文件的使用
- IO流-FilenameFilter接口--文件过滤器的使用---筛选特定文件
- SpringMVC学习笔记2
- [iOS开发]Xcode8.3兼容iOS10.3.1以及低版本Xcode调试高版本iOS系统
- Solr搜索引擎开发初试(2)(接"Lucene搜索引擎开发初试(1)")
- android 如何判断当前是否为飞行模式
- 恩布开源安卓手机IM,EntboostIM全新发布1.6.0版本
- 使用ls筛选某一天的文件
- Bootstrap的datatable控件
- 安卓侧滑之DrawerLayout
- vs环境下QT新建.ui文件无法自动生成ui_xxx.h
- SQL 大数据查询如何进行优化?
- 网络通信协议
- No rule to make target cocos2d/cocos/editor-support/cocostudio/CCActionFrame.cpp
- 计算机网络概述(二)
- 用位操作改变内存中的值