удаление экспоненциального представления в текстовых данных

У меня есть три текстовых данных (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
1
задан 26 October 2015 в 14:19

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().

2
ответ дан 7 December 2019 в 13:52

Другие вопросы по тегам:

Похожие вопросы: