2017-10-17 43 views
0

私はdu-chを使用できないので、sun solaris osのabc_1_ *のような名前で始まる特定のファイルを使用しているフォルダ内のファイルの合計サイズを求めています。findコマンドを使用しています。出力を必要しかし、私は、小数点solaris osのawkで小数点以下を切り上げる

現在のコードの後に​​出力を切り上げたい行き方: -

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

出力: -

1.768932 

所望の出力: -

1.7G 

親切に私はあなたがGNUの拡張に人間が読める形式でサイズを印刷するlsため-hオプションを使用することができますSolarisの

答えて

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

に新しいですこれで私を助けて。注:@Andrew Henleの示唆通り、-hは、lsでサポートされていることを保証していません。

それとも単に使用し、

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

awkでフロートを切り上げることができます人間が読める形式。*いいえ、できません。 '-h'は[標準化された' ls'引数](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ls.html)のGNU拡張であり、サポートされているとは限りません。 –

+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

あなたは直接にサイズを印刷するls` `は` -h`オプションを使用することができます*あなたは

awk 'BEGIN {fl=1.768932; printf("%.1f G\n", fl)}' 
関連する問題