我需要找到给定文件夹的总大小($ 1),我想将其输出为$ totalSize,以便以下工作。它必须以字节为单位。
if [[ -d $1 ]]; then
totalsize=$(....)
echo "The total size of the given folder is $totalSize bytes"
else
echo "$1 is not a directory..."
fi
答案 0 :(得分:0)
您可以通过以下方式获取总大小:
#!/bin/bash
sizeko=$(du --max-depth=0 "$1" | sed 's/\([0-9]*\).*/\1/')
totalsize=$(( $sizeko * 1024 ))
echo $totalsize
du
以千字节为单位输出结果。
如果你想要它以字节为单位,juste计算它(磁盘上的大小总是1024的倍数)。
如果您想要dir中文件的实际大小而不是磁盘占用的空间,请向-b
添加du
:
#!/bin/bash
totalsize=$(du -b --max-depth=0 "$1" | sed 's/\([0-9]*\).*/\1/')
echo $totalsize