我有一個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