您也可以使用-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十月底和12月初之間的所有文件2016(例如在2016年11月),其中
-type f
限制了找到「文件」而不是「文件&目錄」
-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
是對當前點目錄? – Emile
是的,如果你願意,你可以給一個固定的路徑。 – phatfingers
我還是不太明白如何將這個應用到我的困境中......我會明天再回來查看並提供更多信息。 – Emile