2013-04-01 49 views
1

在Linux終端上,有沒有辦法讓我列出父目錄下或任何數目的子目錄級別下的所有文件,所有這些文件均按修改整個文件列表中的時間?按修改時間排序文件(包括所有子目錄中的文件)

ls -Rlt並不完全不夠的,因爲它每每個子目錄的文件排序通過修改時間..

+0

你可以使用'find':http://stackoverflow.com/a/5581361/516433 – Lucas

回答

3

這將做你想做的

find . -type f -printf '%TY%Tm%Td%TH%TM%TS %p\n'|sort 

輸出示例:

20130312134959.5090000000 ./servlets/servlet/target/reporting_app.servlets.servlet/WEB-INF/lib/java-foundation-1.1.20.jar 
20130312134959.7580000000 ./servlets/servlet/target/reporting_app.servlets.servlet/WEB-INF/lib/log4j-rolling-appender-1.2.15.jar 
20130312134959.8050000000 ./servlets/servlet/target/reporting_app.servlets.servlet/WEB-INF/lib/commons-logging-1.1.1.jar 
20130312134959.9140000000 ./servlets/servlet/target/reporting_app.servlets.servlet/WEB-INF/lib/commons-digester-1.8.1.jar 
... 
+0

輝煌.. - 我顯然錯過了'find'的選項'printf'。 – alk

+0

謝謝,男人:)從你的命令我爲我做最好的變種:find/etc/-type f -printf'%TH:%TM%Td-%Tm-%Ty%p \ n'| sort> Desktop/list.txt – 2014-08-28 00:29:54

1

怎麼樣使用find這樣的:

find /my/dir/to/scan -type f -exec ls -lt --time-style=+"%F-%T" {} ";" | sort -k 6 

,直到它返回這可能需要一些時間由於最後的| sort

如果您通過在ls中添加/刪除選項來更改格式,您需要調整排序列,當前爲6(日期)。

相關問題