ls | grep -P "$1" | awk '{ x += $5 } END { print "total bytes:" x }'
此代码使用“[0-9]”作为reg expr返回0,在当前文件夹中有2个文件名为:“1”和“6”,每个文件大小为138bytes。
任何人都可以帮我找到问题吗?
答案 0 :(得分:2)
du
可以为您提供帮助;它有一个-c
标志,用于显示“总计”。它导致最后一行包含总大小,后跟单词total。因此,以下内容应该为您提供选择的总大小(字节):
du -bc yourFilePattern | awk 'END {print $1}'
编辑:
如果*pattern*
之类的内容不够,而您想要正则表达式,请使用:
ls | grep -P "$regex" | xargs du -bc | awk 'END {print $1}'
答案 1 :(得分:2)
您只是错过-l
的{{1}}选项。
ls