Eu gostaria de 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 jogado 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 \\
Eu gostaria de mudar isso para
0.1 & $0.16668510^{01}$ & $0.16276810^{01}$ & $0.13946810^{01}$ & $0.12690410^{01}$ & $0.133247 10^{01}$ \\
Eu tenho atualmente
#!/bin/bash
sed -i 's/D\+./ 10^{/g' $1
o que me leva tanto quanto
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 pb, 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 este problema.
obrigado
Tommy
Eu acabei de perceber no exemplo que todos os poderes são +01 nesta linha, isso é chance, 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 \\
Moleza; fácil; baba. Quando terei projetos com programas antigos que produzem látex? :(
fonte