2017-10-17 50 views
0

我想要一個文件夾中的文件的總大小,使用特定的文件開始,名稱如abc_1_ *在sun solaris os中,因爲在這裏我不能使用du -ch,當前我正在使用find命令得到所需的輸出,但我想圍捕後輸出小數在solaris操作系統中awk中的十進制後的綜述

當前代碼: -

echo `find $DUMPDIR -name "${DUMPFILE}*" -exec ls -ltr {} \; | awk ' {s+=$5} END {print s/1024/1024/1024}'` 

輸出: -

1.768932 

所需的輸出: -

1.7G 

請幫我這個我是新來的solaris

回答

0
find $DUMPDIR -name "${DUMPFILE}*" -exec ls -lh {} \; | awk '{print $5}' 

您可以使用GNU擴展-h選項ls打印人類可讀的格式大小。注意:正如@Andrew Henle所建議的,-h不保證在ls支持。

或者簡單地使用,

ls -lh "$DUMPDIR/${DUMPFILE}*" | cut -d' ' -f 5 
+1

*您可以直接使用'-h'選項'ls'打印尺寸的可讀的格式。*不,你不能。 '-h'是[標準化'ls'參數]的一個GNU擴展(http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ls.html),不保證支持。 –

+0

我得到0 GB輸出 – Abhinav

+0

echo'find $ DUMPDIR -name「$ {DUMPFILE} *」-exec ls -lh {} \; | awk'{s + = $ 5} END {print s/1024/1024/1024}''「GB」 – Abhinav

0

可以圓了在awk一個浮球隨

awk 'BEGIN {fl=1.768932; printf("%.1f G\n", fl)}'