簡體   English   中英

如何將find命令與按創建日期和時間進行遞歸排序一起使用?

[英]How to use find command with sorting by creation date&time recursively?

我已經花了很多時間嘗試這個問題。
find命令的結果與列表順序無關。

如何從查找遞歸命令結果中基於創建日期和時間使用目錄列表?

ls -lc  

這很好,但不是遞歸的方式。

find . -type f -iname "*.txt" -exec ls -lc {} \; 

這行不通。

find . -type f -iname "*.txt" | sort -n 

這也僅基於名稱。

來自https://superuser.com/q/294161/992527的解決方案,結合問題中的命令:

find . -type f -iname "*.txt" -printf "%T@ %Tc %p\n" | sort -n

有關命令的變化,請參見不同的答案。
從引用的問題引用的解釋:

來自man find printf參數man find

  • %Tk :文件的最后修改時間,以k指定的格式。

  • @ :格林尼治標准時間1970年1月1日00:00以來的秒數,帶小數部分。

  • c :語言環境的日期和時間(1989年11月4日星期六12:02:33 EST)。

  • %p :文件名。

從@cooljobs的評論復制到問題的MacOS解決方案

find . -type f -iname "*.txt" -exec stat -f '%B %m %N' {} \; | rev | cut -d '/' -f 1 | rev | sort -n 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM