- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
请求只是特定目录中文件的基本计数。我当前使用 ipswitch
的过程:
电子表格用于每月报告可交付成果...
我知道一些 unix/linux 基础知识,例如目录导航,对 grep 有所了解,对查找几乎一无所知。
我不知道如何在特定日期范围内按月在目录中搜索文件,并计算有多少文件...有时具有特定名称或扩展名。我以为
ls -l |grep ...something something...
可能行得通,但我碰壁了。
如果需要更多信息,请告诉我,抱歉这么啰嗦。
最佳答案
您还可以使用 -newerXY
选项来find
直接在两个日期之间的目录内(和目录下)搜索文件。日期格式可以包括精确到秒的时间(例如 "2017-04-13 21:35:58"
或一般的 "yyyy-mm-dd h:m:s "
)
该选项的一般形式是-newerXY
其中XY
可以是a
访问时间、B
出生时间,c
inode 状态改变时间 m
修改时间,t
直接解释为时间。
要在两个给定日期之间进行搜索(例如 2016 年 11 月),您可以使用类似于以下形式的 find
:
find /path/to/files -type f -newermt "2016-10-30 23:59:59" \
! -newermt "2016-12-01 00:00:00"
这将列出 2016 年 10 月末和 2016 年 12 月上旬之间的所有文件(例如 2016 年 11 月修改的所有文件),其中
-type f
将查找限制为"file"而不是“文件和目录”-newermt "2016-10-30 23:59:59"
十月最后一秒后修改的文件! -newermt "2016-12-01 00:00:00"
并且在 11 月的最后一秒后未修改当然 '\'
只是一个续行符,用于在日期测试之间拆分行,因此它不会在此答案中生成水平滚动条——您可以省略并将所有内容放在一条线上。
如果您需要对文件进行计数,只需将输出通过管道传输到 wc -l
,如 phatfingers 在他之前的回答中所示。对文件进行日期排序的一种简单方法是在 命令替换 中使用 find
作为 ls -t
的参数(连同任何其他ls
您可能需要的选项),例如:
$ ls -lrt $(find . -newermt 2016-10-30 ! -newermt 2016-12-01)
-rw-r--r-- 1 david david 3180 Nov 9 13:02 ./inventory2.c
-rw-r--r-- 1 david david 769 Nov 19 23:00 ./xfree.c
-rw-r--r-- 1 david david 1375 Nov 20 16:14 ./reallocprob.c
-rw-r--r-- 1 david david 98 Nov 21 00:39 ./hw.c
-rw-r--r-- 1 david david 530 Nov 25 23:10 ./tools2/tools.c
-rw-r--r-- 1 david david 1175 Nov 25 23:15 ./tools2/main.c
-rw-r--r-- 1 david david 174 Nov 25 23:16 ./tools2/tools.h
-rw-r--r-- 1 david david 424 Nov 26 00:28 ./tools/tsave.c
-rw-r--r-- 1 david david 106 Nov 26 01:34 ./tools/tools.h
-rw-r--r-- 1 david david 909 Nov 26 01:53 ./tools/main.c
-rw-r--r-- 1 david david 525 Nov 26 02:45 ./tools/tools.c
-rw-r--r-- 1 david david 1732 Nov 27 23:53 ./nogets.c
-rw-r--r-- 1 david david 530 Nov 30 22:17 ./resolution.c
关于linux - 如何使用 bash 在命令行上计算日期范围内的特定文件数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43396415/
我想开发一个 Skype 机器人,它将用户名作为输入,并根据用户输入以相反的字符大小写表示hello username。简而言之,如果用户输入他的名字 james,我的机器人会回复他为 Hello J
我是一名优秀的程序员,十分优秀!