2013-04-02 16 views
2

我怎麼找到,比方說,100個最舊的訪問文件?我試過以下,但它只是打印隨機訪問的文件。找到最舊的訪問文件

find /home/you -iname "*.pdf" -atime -100000 -type f | tail -n100 
+0

它不是 「隨機」。它是任何文件的「atime」至少100000秒「舊」。如果你想要最老的文件,那麼你必須對返回的結果進行排序。 –

+1

您需要激活文件系統的'atime'選項,這通常在安裝時完成。大多數系統默認情況下都會禁用此功能以加快磁盤讀取速度。 –

回答

6
find /home/you -iname '*.pdf' -printf '%[email protected] %p\n' | sort -n | head -n 100 
+2

我發佈了相同的答案的一半。我應該記住更多'find'的手冊頁:-)恭喜! – Boldewyn

+1

'-printf'%A @%p \ 0''如果你想要安全,但是你必須使用循環而不是'head'。 – l0b0

2

您可以使用stat命令

stat -c '%X %n' *.pdf | sort -n | head -n100 
+2

我建議使用'%X'(大寫)和'sort -n'進行可靠的排序。 – Boldewyn

+0

@Boldewyn感謝您的建議!我絕對同意,'%X'是一個更好的選擇。每天學些新東西。 –

相關問題