📌  相关文章
📜  将文件大小列为 mb - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:53:52.717000             🧑  作者: Mango

将文件大小列为 MB - Shell/Bash

当您需要处理大量文件时,可能需要查看它们的大小。但是这些大小可能以字节或千字节为单位,并不直观。此时,将文件大小以MB为单位列出将非常有帮助。下面我们介绍如何使用Shell/Bash,将文件大小列为MB,并以markdown格式返回代码片段。

方法1 - 使用du命令

使用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命令来获取第一个字段,也就是文件大小。

方法2 - 使用stat命令

另一种方法是使用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命令用于计算除法运算。

无论是哪种方法,它们都可以帮助您以人类可读的方式查看文件大小。 当然,您可以根据需要进行修改,例如过滤文件类型,指定输出格式等。