我有三个文本数据 (x,y,z);x=
0.230470334533783E+07
0.230470334324697E+07
y=
-0.487481717139422E+07
-0.487481717040853E+07
z=
0.339518702164184E+07
0.339518702104482E+07
我需要删除三个文本文件的所有数据(带有 4 个小数点)中的指数符号“E”。然后我需要将这三个数据合并到一个文本文件中,例如:
合并数据:
2304703.3453 -4874817.1714 3395187.0216
2304703.3432 -4874817.1704 3395187.0210
答案1
perl
使用(解析数字) 和的组合paste
:
$ paste x y z | perl -lane 'print join (" ", map {sprintf("%.4f", $_)} @F)'
2304703.3453 -4874817.1714 3395187.0216
2304703.3432 -4874817.1704 3395187.0210
paste
合并文件:
$ paste x y z
0.230470334533783E+07 -0.487481717139422E+07 0.339518702164184E+07
0.230470334324697E+07 -0.487481717040853E+07 0.339518702104482E+07
perl
将-a
输入拆分为数组@F
。然后我使用map
应用于sprintf("%.4f")
数组的每个元素,然后使用将它们组合回来join()
。