Gostaria de receber alguns conselhos sobre como alterar a formatação de alguns dados em um arquivo.
Eu tenho uma grande quantidade de dados em um arquivo. Esta é uma saída de um grande programa Fortran, é formatada para uma tabela de látex. Desejo alterar a formatação, mas não posso executar novamente o programa Fortran com formatação alternativa para a saída. Eu tenho brincado com sed mas não tenho ido muito longe.
Uma única linha de uma tabela está atualmente no formato
0.1 & 0.166685D+01 & 0.162768D+01 & 0.139468D+01 & 0.126904D+01 & 0.133247D+01 \
Desejo alterá-lo para
0.1 & $0.16668510^{01}$ & $0.16276810^{01}$ & $0.13946810^{01}$ & $0.12690410^{01}$ & $0.133247 10^{01}$ \
Atualmente tenho
#!/bin/bash
sed -i 's/D\+./ 10^{/g' $1
que me leva até
0.1 & 0.166685 10^{01 & 0.162768 10^{01 & 0.139468 10^{01 & 0.126904 10^{01 & 0.133247 10^{01 \
mas ainda preciso adicionar a chave de fechamento e envolver cada número em um par de símbolos '$'.
Em uma palavra ideal, eu também alteraria os dados para 3 d.p, mas isso é menos importante.
Qualquer mestre em sed e regex capaz de ajudar, ou talvez uma sugestão de outra ferramenta que possa ser mais adequada para esse problema.
Obrigado
Tommy
Acabei de perceber no exemplo todos os poderes são +01 nesta linha, isso é acaso, eles podem ser qualquer coisa e variar pelo arquivo, positivo e negativo. Outra linha de exemplo com alguns NaNs lançados.
0.3 & 0.634620D-02 & NaN & NaN & -0.312678D-02 & 0.192654D-03 \