有什么方法可以转换字符串吗1K
to 1000
, 1M
to 1000000
等等,用一个 Bash 命令?我想避免成为第 100 万第 30 个人为此创建超过 10 行或超过 100 个字符的单行 hack。就像是iso2int 5MB
.
Edit: units -t '5MB' 'bytes
有效,但该工具不可用。有没有简单的转换方法either 5M
or 5MB
和字节类似?
max的解决方案很优雅,但在我的情况下有效的最短等效方案至少是sed -e 's/b//i;s/k/*1000/i;s/m/*1000000/i;s/g/*1000000000/i;s/t/*1000000000000/i' | bc
.
像这样的东西吗?
$ echo "1K + 10M" | sed -e "s/K/*1024/g;s/M/*1024*1024/" | bc
10486784
Edit:
sed -e 's/t/kg/i;s/g/km/i;s/m/kk/i;s/k/*1000/ig;s/b//i' | bc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)