我目前正在尝试查看所有使用 /var 挂载的文件。
当lsof | grep /var*
它显示大小(以字节为单位)时。如何以 MB 为单位显示文件大小。
谢谢。
答案1
从 GNU Coreutils 版本 8.21(2013 年 12 月发布)开始,有一个名为numfmt
(=数字格式)的新标准程序。它会完全按照您的意愿行事。
例子:
lsof | grep /var* | numfmt --field=8 --to=iec | head
该参数--to
接受iec
(其中 1K=1024B)或si
(其中 1K=1000)。还有一些其他选项,更多信息请参见此处:
http://www.gnu.org/s/coreutils/numfmt。
(免责声明:我编写了 的初始实现numfmt
)。
答案2
尝试这个:
| awk '{$7=$7/1048576 "MB"; print}'
或更短:
| awk '{$7=$7/1048576 "MB"}1'
答案3
您可以使用 awk 将字节转换为 MB。
像这样的东西应该以 MB 为单位显示大小。
lsof | grep /var* | awk '{for(i=1;i<=6;i++){printf "%s ", $i}; print $7/1048576 "MB" " "$8" "$9 }'
它将打印直到第 7 个字段的所有字段,然后将其除以 1048576 以获得以 MB 为单位的大小,然后显示剩余的两个字段。