0
我在文本文件中重复以下行。任何人都可以帮助我将五列项从二进制转换为十进制。我想编辑现有文件而不创建新文件。将特定列从二进制转换为十进制的shell脚本
-117.894687 33.663901 0.000000 0,0,0 1010000000000000000000000000000000 1637.10 238.88 1719.04
我在文本文件中重复以下行。任何人都可以帮助我将五列项从二进制转换为十进制。我想编辑现有文件而不创建新文件。将特定列从二进制转换为十进制的shell脚本
-117.894687 33.663901 0.000000 0,0,0 1010000000000000000000000000000000 1637.10 238.88 1719.04
#!/bin/bash
bin=1010000000000000000000000000000000
echo "The decimal value of $bin is $((2#$bin))"
现在,为了打破上面的字符串,并将其发送到这个文件,你必须使用cut
命令和使用chmod +x binconv.sh
然后发送剪切命令上面的shell脚本执行通过命令行,并根据它
bash binconv.sh 1010000000000000000000000000000000
修饰的改变上述脚本y bin=1010000000000000000000000000000000
到bin=$1
你看了[这里](http://unix.stackexchange.com/questions/65280/binary-to-hexadecimal-and-decimal-in-a-shell-script)? – dramzy 2014-10-19 15:28:45
当您编辑现有文件时,您将始终创建一个新文件。如果你在文本编辑器中这样做,新文件将在'/ tmp /'中创建,并且当你将最终文件写回到磁盘时,旧文件将被删除。另外,请考虑您提议的尺寸变化。你可以用312(或其他)后面的空格替换“1010000”,或者在替换结尾放置一个换行符,这将缩短文件的长度。祝你好运。 – shellter 2014-10-19 16:53:07