我有一个kml文件(简短示例,下面是真实的文件,数百行更大),并带有浮点数和字符串。我想仅使用SED或AWK命令(例如,在小数点后4位数字)更改浮点数的精度,而不触及文件本身的结构和其余字符串。我尝试过awk,grep和sed,但最终只选择了数字。有人可以帮助我完成这项任务吗?如何在不改变结构的情况下通过sed命令更改KML文件中的浮点精度
<Placemark>
<name>Line 276</name>
<styleUrl>#st-9324-0</styleUrl>
<LineString>
<tessellate>1</tessellate>
<coordinates>
-82.0843550361,-10.3436718895,0
-82.0733687247,-10.3414798573,0
-82.067875569,-10.3436762828,0
-82.0623824134,-10.3464215529,0
-82.051396102,-10.354657111,0
-82.0513917085,-10.3546626018,0
-82.0470007396,-10.3656489207,0
-82.0470007396,-10.3766352397,0
-82.0491996781,-10.3876215586,0
-82.051396102,-10.3912813368,0
-82.0568892577,-10.3986078776,0
-82.0623824134,-10.4030032431,0
-82.0706234567,-10.4095941965,0
-82.0733687247,-10.4114246674,0
-82.0843550361,-10.4169172451,0
-82.0953303765,-10.4205805155,0
-82.0953413474,-10.4205832616,0
-82.1063276588,-10.4219531504,0
-82.1173139701,-10.4219531504,0
-82.1209737457,-10.4205805155,0
-82.1283002815,-10.41618515,0
-82.1337934371,-10.4095941965,0
-82.1345777463,-10.3986078776,0
-82.1324208031,-10.3876215586,0
-82.1283002815,-10.3793805097,0
-82.1261038575,-10.3766352397,0
-82.1173139701,-10.3678453462,0
-82.1151175462,-10.3656489207,0
-82.1063276588,-10.3583258722,0
-82.1008345031,-10.3546626018,0
-82.0953413474,-10.3502672363,0
-82.0843623548,-10.3436762828,0
-82.0843550361,-10.3436718895,0
</coordinates>
</LineString>
</Placemark>
<Placemark>
<name>12</name>
<styleUrl>#st-9325-0</styleUrl>
<Point>
<coordinates>
-80.881497121,-43.7490060037,0
</coordinates>
</Point>
</Placemark>
谢谢。
JB
为什么? [**你最终想要完成什么?**](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – amphetamachine
要减小文件的大小...将浮点数的精度更改为点后4位数,并清除所有制表符(sed -ri s /“\ tab”/“”/ g文件),kml文件最初为2.2 MB,现在已经得到800 kb 。为了我的目的,一个4位数的地理位置已经绰绰有余了。 – Quim