Я хотел бы получить совет по изменению форматирования некоторых данных в файле.
У меня есть большой объем данных в файле. Это вывод большой программы на Фортране, он отформатирован для латексной таблицы. Я хочу изменить форматирование, но не могу перезапустить программу Fortran с альтернативным форматированием для вывода. Я играл с sed, но не очень далеко.
Одна строка из таблицы в настоящее время в формате
0.1 & 0.166685D+01 & 0.162768D+01 & 0.139468D+01 & 0.126904D+01 & 0.133247D+01 \\
Я хочу изменить это на
0.1 & $0.16668510^{01}$ & $0.16276810^{01}$ & $0.13946810^{01}$ & $0.12690410^{01}$ & $0.133247 10^{01}$ \\
У меня сейчас
#!/bin/bash
sed -i 's/D\+./ 10^{/g' $1
что доходит до меня
0.1 & 0.166685 10^{01 & 0.162768 10^{01 & 0.139468 10^{01 & 0.126904 10^{01 & 0.133247 10^{01 \\
но мне все еще нужно добавить закрывающую скобку и обернуть каждое число в пару символов `$ '.
Одним словом, я бы тоже изменил данные на 3 dp, но это менее важно.
Любые мастера sed / regex, способные помочь, или, возможно, предложение другого инструмента, который может лучше подходить для этой проблемы.
Спасибо
Томми
Я только что понял в примере, что все силы равны +01 в этой строке, это шанс, они могут быть любыми и могут быть разными, несмотря на файл, положительный и отрицательный. Еще один пример строки с несколькими добавленными NaN.
0.3 & 0.634620D-02 & NaN & NaN & -0.312678D-02 & 0.192654D-03 \\