我想要一个shell命令来查找修改日期为昨天 - 仅24小时的文件。这意味着我想查找昨天修改过的文件。Shell命令查找昨天修改过的文件24小时
回答
使用找到mtime
和daystart
,它会找到文件修改1 * 24小时前,开始从午夜(一天开始)计算:
find dir -daystart -mtime 1
请参阅[解释'find -mtime'命令](http://stackoverflow.com/questions/25599094/explaining-find-mtime-command/25599430?s=1|4.3858#25599430) - 我认为这不会做什么还需要。 –
没错,但是它会在与'-daystart'结合时做正确的事情(即从昨天的0:00到23:59查找文件) –
Yup - '''''''''''''''假设您使用的是GNU'find' 。 (例如,BSD/Mac OS X'find'不支持'-daystart',即使它支持'-newermt'和相关选项。) –
这个答案假设你有GNU date
和find
。它还假定如果您在2016年7月14日随时运行脚本,您希望在2016-07-13T00:00:00或2016-07-14T00:00:00之前修改文件。
如果这些假设是正确的,则可以使用:
find . -newermt "$(date -d yesterday +'%Y-%m-%d 00:00:00')" \
'!' -newermt "$(date -d today +'%Y-%m-%d 00:00:00')"
第一命令取代产生(2016年7月14日上)的输出2016-07-13 00:00:00
和第二2016-07-14 00:00:00
。得到正确结果不需要-d today
,但显示对称性。
条件总体意味着'在昨天凌晨午夜或之后修改,并且自今天午夜以来未修改'。
在没有GNU date
的系统上执行此操作很难评估不同的日期。
请参阅Explaining find -mtime
command了解为什么使用-mtime
不符合假定要求的信息。
- 1. 如何通过命令行列出昨天在目录中修改的文件?
- 2. Bash脚本查找过去24小时内最近修改的大文件
- 3. 我如何过滤昨天(不是最后24小时)并在我的标题中显示昨天的日期?
- 4. 链接命令使用ls递归列出过去24小时内修改的文件?
- 5. 在过去24小时内修改过的打印文件到控制台
- 6. 甲骨文不是昨天小时
- 7. 在24小时内修改的Grep文件unix
- 8. 今天和昨天找一段时间
- 9. 查找一段24小时(未尤其是最后24小时)
- 10. Fullcalendar每天24 + 7小时
- 11. 无法获取PowerShell通过检查文件夹来查找在过去一小时修改的文件
- 12. 查找adb shell中的最新修改文件
- 13. grep命令查找文件
- 14. 在linux的bash shell查找命令
- 15. 查找最近30天未修改的文件清单
- 16. Magento的过滤器收集的创建时间(今天,昨天,周,小时等)
- 17. 如何在unix中查找超过5天的文件的命令?
- 18. 命令行修改命令
- 19. Bash脚本检查FTP上的文件是否在过去的24小时内(1天)被修改,并且仅在已更改时才下载
- 20. Unix命令行:如何在过去30天内获取修改文件的总大小
- 21. Python等价于shell查找命令
- 22. shell命令创建文件
- 23. 显示整个文件的Git diff命令被修改,而不是显示修改过的小部分代码
- 24. 使用python查找超过24小时的记录
- 25. 更改时间插件到24小时
- 26. PHP:让今天的过滤器/昨天
- 27. 的strtotime 8天前,整个24小时
- 28. SQL Server组过去24小时,过去7天和过去14天
- 29. 运行时间超过24小时的杀死进程(命令)$ pid
- 30. 查找将给文件大小信息等的命令
假设您在2016-07-14 10:00运行该命令。您是否正在寻找2016-07-13T00:00:00和2016-07-13T23:59:59之间修改的文件(全部位于当前时区)?或者您正在查找过去24小时内修改过的文件,在这种情况下,范围介于2016-06-13T10:00:00和2016-07-14T10:00:00之间?或者是其他东西? –