2013-09-28 41 views
0

我输出一些值为JSON格式,并且如果一个值以'。'开头就会出现。它是无效的JSON(API似乎不喜欢这些int的内部“”)。如果我的值在'。'前面有任何东西,最好的方法是什么?如果不是,在那里放一个0?如何在'。'之前检查值。在BASH

value = .53 
newvalue = 0.53 

我没有做任何事情比目前BASH简单的功能更非常好,仍努力学习的awk/sed和其他有用的东西如削。

+0

你使用bash有什么特别的原因吗?看起来奇怪的语言是生成JSON ... – IMSoP

+0

'printf“%f”$ oldvalue'可以工作,可能会导致一些其他轻微的副作用,除了前导'0'由于浮点的性质。 – Wrikken

回答

1

考虑到输入的性质,可能有许多可能的解决方案。然而,由于这些未知数简单的解决方法是说:

[[ $value == \.* ]] && newvalue=0${value} 

例子:

$ value=.42 
$ [[ $value == \.* ]] && newvalue=0${value} 
$ echo $newvalue 
0.42 
相关问题