linux統計某個特定文件名的大小總和【原創】


 

[hch@EAISRVBJ2 log]$find ./ -name "test_chs_00*"|xargs du -ck|grep total|awk 'BEGIN{sum=0}{sum+=$1}END{print sum}'
315590856

參數說明
-c或--total 除了顯示個別目錄或文件的大小外,同時也顯示所有目錄或文件的總和。
-k或--kilobytes 以KB(1024bytes)為單位輸出

另一種更簡單的方法,感謝superfly提供的方法

[root@app01 b2c]# du -ch ./2019*
672K    ./2019-05-29.log
976K    ./2019-05-30.log
848K    ./2019-05-31.log
748K    ./2019-06-01.log
792K    ./2019-06-02.log
988K    ./2019-06-03.log
1.1M    ./2019-06-04.log
1.1M    ./2019-06-05.log
1.2M    ./2019-06-06.log
892K    ./2019-06-07.log
1.4M    ./2019-06-08.log
1004K    ./2019-06-09.log
1.2M    ./2019-06-10.log
1.2M    ./2019-06-11.log
1.1M    ./2019-06-12.log
1.1M    ./2019-06-13.log
1012K    ./2019-06-14.log
936K    ./2019-06-15.log
904K    ./2019-06-16.log
1.1M    ./2019-06-17.log
1.1M    ./2019-06-18.log
1.2M    ./2019-06-19.log
1.1M    ./2019-06-20.log
1.1M    ./2019-06-21.log
972K    ./2019-06-22.log
1.1M    ./2019-06-23.log
1.2M    ./2019-06-24.log
1.2M    ./2019-06-25.log
1.2M    ./2019-06-26.log
1.3M    ./2019-06-27.log
31M    total

 

轉換的結果為KB,將其轉換為G。用bc計算

[hch@EAISRVBJ2 log]$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
315590856/1024/1024
300
quit

轉換結果為300G

 

 如果沒有安裝bc,用let計算

[hch@EAISRVBJ2 log]$var1=`find ./ -name "EAIObjMgr_chs_00*"|xargs du -ck|grep total|awk 'BEGIN{sum=0}{sum+=$1}END{print sum}'`
[hch@EAISRVBJ2 log]$ let "var=$var1/1024/1024"
[hch@EAISRVBJ2 log]$ echo $var
299

寫在一起執行如下:
var1=`find ./ -name "EAIObjMgr_chs_00*"|xargs du -ck|grep total|awk 'BEGIN{sum=0}{sum+=$1}END{print sum}'` && let "var=$var1/1024/1024" && echo $var"G"

 

 

轉載請注明出處

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM