[英]Optimizing a one-line find + exec command
我需要獲取系統上約1M +個文件的文件信息(名稱,大小,修改日期)。 我當前使用的命令是:
sudo find "$FULFILLMENT" "$ARCH1" "$ARCH2" "$MASTERING" -type f -exec ls -lT {} +
有辦法改善嗎? 唯一的要求是,我必須獲取上述卷中的所有文件,並為每個文件提取名稱,大小和date_modified。
(是否可以在這里執行stat命令?這樣可以加快速度嗎?)
在光纖連接的計算機上,這大約需要一個小時。
您可以使用find
的內置打印來代替將打印工作輸出到ls
:
sudo find ... -type f -printf '%p %s %t\n'
我不知道快了多少那將是,但它節省了分岔出來ls
,並將其保存為咨詢盤第二次通過檢索信息ls
是find
已經有無論如何,所以它應該是至少有點快。
(順便說一句,您可以在man find
搜索-printf
以獲得有關這些格式字符串的更多信息。特別是,您可以自定義上次修改時間的顯示方式,並且可以為其他字段指定顯式字段寬度。 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.