标题: [问题求助] [已解决]gawk命令第一列+0.5为什么数据位数不对了 [打印本页]
作者: tommytangtang 时间: 2014-8-17 20:39 标题: [已解决]gawk命令第一列+0.5为什么数据位数不对了
用下列代码处理的时候遇到个问题- @gawk "NR>0{print $1+0.5,$2+0.3,$3}" 123.txt>123a.txt
复制代码
123.txt
513621.937 2366583.053 8.985
513622.048 2366692.578 3.709
513622.209 2366693.253 4.685
123a.txt
513622 2.36658e+006 8.985
513623 2.36669e+006 3.709
513623 2.36669e+006 4.685
为什么变成这样了,我只是要他加个常数。。。
作者: tommytangtang 时间: 2014-8-17 20:52
还是说批处理中数值默认只有6位数吗
作者: terse 时间: 2014-8-17 22:33
- @gawk "NR>0{printf \"%%.3f %%.3f %%s \n\",$1+0.5,$2+0.3,$3}" 123.txt
复制代码
作者: tommytangtang 时间: 2014-8-17 22:51
回复 3# terse
谢谢,运行正确了,看来还是要format他才行
作者: CrLf 时间: 2014-8-17 23:14
小数的格式由 OFMT 变量控制:- echo 123|gawk -vOFMT="%.10f" "{print $1+0.44444}"
复制代码
作者: 523066680 时间: 2014-8-17 23:47
论坛首页出现一个空标题,好强大……
作者: CrLf 时间: 2014-8-18 00:21
回复 6# 523066680
因为没过滤 $0~$9、$' $` 等特殊符号,所以替换的时候就...
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |