如何使用UNIX命令将整数更改为浮点数

时间:2016-03-21 15:25:22

标签: regex linux unix awk

我想使用UNIX命令将文本文件中的所有整数更改为浮点数。 例如,“X.Yang,is,a,student,in,USYD,from,2016”to“X.Yang,is,a,student,in,USYD,from,2016.00”我知道sed无法正常工作重叠替代。我认为使用awk可能是个好主意,但我不知道怎么做。 有人可以给我一些帮助吗?

2 个答案:

答案 0 :(得分:0)

您可以像这样使用StartNew

awk

awk 'BEGIN{FS=OFS=","} { for (i=1; i<=NF; i++) if ($i+0 == $i) $i=sprintf("%.2f", $i)} 1' file X.Yang,is,a,student,in,USYD,from,2016.00 条件检查该列是否为有效数字。

答案 1 :(得分:0)

试试这个例子:它只适用于你的情况。为什么不呢?

sed -r 's/([0-9]+)/\1.0/g'