在字节数和&#34之间转换;人类可读"串

时间:2016-05-03 21:57:08

标签: shell

是否存在一个shell命令,只需在字节数字和字符串之间来回转换即可#34;人类可读"某些命令通过-h选项提供的数字字符串?

澄清问题:ls -l没有-h选项(某些输出被抑制)

> ls -l 
  163564736 file1.bin
      13209 file2.bin

给出大小(以字节为单位),而-h选项(某些输出被抑制)

> ls -lh 
  156M file1.bin
   13K file2.bin

大小是人类可读的,以千字节和兆字节为单位。

是否有一个shell命令只是将163564736转换为156M而将13209转换为13K并执行相反的操作?

2 个答案:

答案 0 :(得分:10)

numfmt

致:

echo "163564736" | numfmt --to=iec

自:

echo "156M" | numfmt --from=iec

答案 1 :(得分:2)

没有标准(跨平台)工具可以做到这一点。但使用awk的解决方案是described here