第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

顯示文件和大小慢命令

顯示文件和大小慢命令

蝴蝶刀刀 2022-07-19 20:55:09
此命令獲取所有文件和大小find . -type f | xargs -I x du -s x > /tmp/asd比這個 python 腳本慢 1000 倍import osfor dirpath, dirnames, filenames in os.walk("."):    for f in filenames:        print(f)        fp = os.path.join(dirpath, f)        if os.path.isfile(fp):            print(os.path.getsize(fp))我在 bash 腳本中做錯了嗎?目錄結構大約有 500 萬個文件
查看完整描述

2 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

find可以直接-printf選擇在找到的文件上顯示一些數據:


%p     File's name.

%s     File's size in bytes.

%u     File's user name, or numeric user ID if the user has no name.

%g     File's group name, or numeric group ID if the group has no name.

...

因此,比出色的@Aaron 解決方案更進一步,您可以直接獲取所需的信息,而無需通過xargsnor啟動任何其他進程-exec:


find . -type f -printf '%p %s\n'


查看完整回答
反對 回復 2022-07-19
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

我建議使用以下內容:

find . -type f -exec stat --printf='%n %s\n' {} +

性能的主要提升來自避免為每個匹配的文件生成一個新進程find。xargs這可以用find. 這是通過使用
(而不是)來完成的,這將產生盡可能少的進程(基于您的操作系統(tǒng)支持的最大參數數量)。find-exec ... +-exec ... \;

此外,我們使用更基本的stat而不是du查詢文件的大小,這更接近您在 python 腳本中所做的。


查看完整回答
反對 回復 2022-07-19
  • 2 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號