我想要一個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之間?或者是其他東西? –