📅  最后修改于: 2023-12-03 14:53:52.717000             🧑  作者: Mango
当您需要处理大量文件时,可能需要查看它们的大小。但是这些大小可能以字节或千字节为单位,并不直观。此时,将文件大小以MB为单位列出将非常有帮助。下面我们介绍如何使用Shell/Bash,将文件大小列为MB,并以markdown格式返回代码片段。
使用du
命令可以查看文件和目录所占用的磁盘空间。它还提供了一个选项-h
,可以以人类可读的方式显示文件大小,但是这只是以KB为单位。如果要以MB为单位,则需要将每个文件的大小除以1024。
代码片段如下:
for file in *
do
if [ -f "${file}" ]; then
size=$(du -m "${file}" | cut -f 1)
echo "${file} - ${size}MB"
fi
done
该代码中,for
循环用于遍历当前目录下的所有文件,-f
选项用于检查文件是否存在。du -m
命令用于计算文件大小,并将结果以MB为单位输出。最后使用cut
命令来获取第一个字段,也就是文件大小。
另一种方法是使用stat
命令。stat
命令用于显示文件的状态信息,包括文件大小。使用-c
选项可以指定输出格式,并以MB为单位输出。
代码片段如下:
for file in *
do
if [ -f "${file}" ]; then
size=$(stat -c %s "${file}")
size_mb=$(echo "scale=2;$size/1024/1024" | bc)
echo "${file} - ${size_mb}MB"
fi
done
该代码中,-c
选项用于指定输出格式,%s
表示文件大小(以字节为单位)。echo
命令中scale=2
指定了小数点后两位,bc
命令用于计算除法运算。
无论是哪种方法,它们都可以帮助您以人类可读的方式查看文件大小。 当然,您可以根据需要进行修改,例如过滤文件类型,指定输出格式等。