【发布时间】:2023-12-05 12:41:01
【问题描述】:
如何在 sun solaris KSH Shell 脚本中仅以 MB GB 或 KB 为单位显示特定扩展名的总文件大小我尝试过 AWK 命令,以下是命令:-
BACKUP_SIZE=`find $EXPDP_DIR_PATH -name "DotNet_LI_TRADES_pre_release_*_12092017.log" -exec ls -ltr {} \; | awk ' BEGIN{split("B KB MB GB TB PB EB ZB YB",v)} {s+=$5} {s=1;while($5>1024&&s<9){$5/=1024;s++} printf "%6.2f %s\n",$5,v[s],$9}'`
输出:-
回显 $BACKUP_SIZE
681.02 MB 682.54 MB 552.33 MB 1.77 GB 5.92 GB 374.07 MB
所需的输出:-
66.87 GB
【问题讨论】:
-
不要使用
find ... ls -ltr。请改用du -sh PATH_TO_BACKUPS。
标签: bash shell awk solaris ksh