Answers:
当然。从您所在的目录中执行:
find . -type f -mtime -7 -exec ls -l {} \;
向它添加重定向(也> results.txt
就是将它们存储到该文件中)。
type f
只执行文件而不执行目录mtime -7
直到现在7天前(+7比“ 7天还早”)ls
以显示长列表您也可以ls -l
参与其中:
find . -type f -mtime -7 -exec ls -Rl --time-style=long-iso {} \;
find . -type f -mtime -7 -exec ls -R --time-style=long-iso {} \;
将显示树状方法,目录位于长列表(1)或短列表(2)中的文件之间。
find ... -exec ls -l {} +
执行方式(ls -l
使用多个参数的次数更少)也更合适。这是find
POSIX指定的标准选项。
以下命令在Mac OSX上可以实现梦想-也许在ubuntu上也可以实现……
find . -type f -mtime -7 -exec stat -lt "%Y-%m-%d %H:%M:%S" {} \; | cut -d\ -f6- | sort -r
这将在当前目录树中查找最近7天内已修改的文件,并输出修改日期+时间和路径,排在最前。
输出示例:
2018-02-21 22:06:30 ./fmxmlsnippet.xml
2018-02-19 12:56:01 ./diff.html
2018-02-19 12:44:37 ./temp/iDDR/XMSC_fmxmlsnippet.xml
2018-02-18 22:04:05 ./temp/iDDR/XMFD_fmxmlsnippet.xml
2018-02-15 10:18:27 ./xml/iDDR/XML2_fmxmlsnippet.xml
2018-02-15 10:13:29 ./xsl/fmxmlsnippet/XML2_fmCM_AnalyseLayout.xsl
2018-02-15 10:11:36 ./xsl/.DS_Store
2018-02-15 10:10:51 ./xsl/_inc/inc.XML2_fmCM_ReportReferencesToExternalFiles.xsl
2018-02-15 10:10:09 ./xsl/_inc/.DS_Store
2018-02-15 10:07:35 ./xsl/fmxmlsnippet/XML2_fmCM_AnalyseLayout-NoAnchors.xsl
2018-02-15 10:07:35 ./xsl/_inc/inc.XML2_fmCM_AnalyseLayout.xsl
感谢ubuntu用户的任何反馈。
7天,即60秒* 60分钟* 24小时* 7天= 604800秒
找出以秒为单位的当前日期(Unix纪元时间):
$ date +%s
1448876323
减去以秒为单位的7天:
expr $(date +%s) - 604800
1448271548
现在,以stat
“名称+时间(以秒为单位)”格式获取所有文件的命令并打印统计信息,并用于awk
裁剪修改时间大于我们计算出的日期的那些文件
$ stat --printf="%n %Y\n" $HOME/* | awk '$2 > 1448271265 {print $0}'
/home/xieerqi/1448428697574.png 1448429613
/home/xieerqi/1448763343273.png 1448763478
/home/xieerqi/1510DRIVE 1448352453
/home/xieerqi/addRemoveDistribution 1448666843
/home/xieerqi/add-update.awk 1448716356
/home/xieerqi/add-update.sh 1448625092
特别值得关注的是最后3个文件,因为我知道我不到7天就在使用它们。因此我知道它有效
awk '$2 > 1448271265 {print $0}'
您直接说awk '$2 > 1448271265'
。在真实情况下,awk将默认行打印为当前行。
find
有ls
选择,所以您可以做find . -type f -mtime -7 -ls