У меня есть три текстовых данных (x, y, z); x =
0.230470334533783E+07
0.230470334324697E+07
y =
-0.487481717139422E+07
-0.487481717040853E+07
z =
0.339518702164184E+07
0.339518702104482E+07
Я должен удалить экспоненциальное представление "E" во всех данных (с 4 десятичными точками) для трех текстовых файлов. Затем я должен объединить три данные в одном текстовом файле как;
combined_data:
2304703.3453 -4874817.1714 3395187.0216
2304703.3432 -4874817.1704 3395187.0210
Используя комбинацию 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()
.