Linux
Linux find 命令 - 顯示進度
我想知道在使用
find
. 我經常發現自己在大磁碟上搜尋文件,並且某種進度指示器會非常有幫助,例如條形或至少目前目錄“查找”搜尋。是否有任何腳本可以做到這一點,或者確實find
支持一些鉤子?
通過這個技巧,您可以看到目前文件夾 - 但沒有進度條 - 抱歉。
watch readlink -f /proc/$(pidof find)/cwd
一個名為pv(管道查看器)的小實用程序可能會有所幫助。來自Peteris Krumins的精彩總結:
管道查看器是一個基於終端的工具,用於通過管道監控數據的進度。
您可以通過多種方式使用 pv。在這裡玩耍時,我將它立即放在管道之後以監視 find 生成的輸出的進度(應該將 stdin 傳遞給 stdout 不變)
find / -mtime -1h | pv > /dev/null
這將顯示輸出有點像這樣:
6.42MB 0:01:25 [31.7kB/s] [ <=> ]
(我將 stdout 重定向到 /dev/null 所以我可以看到正在執行的進度條而沒有輸出飛過。這可能不是您的意圖,因此請相應地進行調整)
老實說,我不確定這在野外效果如何。對於像上面這樣的“昂貴”發現(從根遍歷),它似乎工作得很好。對於目錄樹中較深節點中的簡單命令,pv 慘遭失敗。這些命令會立即返回結果,因此進度條在這裡可能沒有實際意義。
無論如何,玩一玩,看看這是否能滿足你的需要。至少值得深思。