在Linux终端上,有没有办法列出父目录或以下任意数量的子目录级别中的所有文件,所有这些文件都是按整个文件列表中的修改时间排序的?
ls -Rlt是不够的,因为它按每个子目录的文件的修改时间进行排序。
发布于 2013-04-02 00:18:34
这会做你想做的事
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
...发布于 2013-04-02 00:00:07
像这样使用find怎么样:
find /my/dir/to/scan -type f -exec ls -lt --time-style=+"%F-%T" {} ";" | sort -k 6 由于最终的| sort,这可能需要一段时间才能返回。
如果通过向日期添加/删除选项来更改格式,则可能需要调整排序列(当前为6,即ls )。
https://stackoverflow.com/questions/15746687
复制相似问题