以下内容将打印出目录及其内容的大小(以字节为单位(:
ls -lR | grep -v '^d' | awk '{bytes += $5} END {print "Total bytes: " bytes}'
输出如下所示:
Total bytes: 1088328265
我怎样才能最简单地修改我的命令,使输出具有逗号分隔的数字,如下所示:
Total bytes: 1,088,328,265
$ awk 'BEGIN{printf "Total bytes: % 47dn", 1088328265}'
Total bytes: 1,088,328,265
因此,抛开通常的建议,不要解析ls的输出并摆脱grep,因为您在使用awk时永远不需要grep,我们可以制作整个命令:
ls -lR | awk '!/^d/{bytes += $5} END{printf "Total bytes: % 47dn", bytes}'