Chciałbym uzyskać porady dotyczące zmiany formatowania niektórych danych w pliku.
Mam dużą ilość danych w pliku. Jest to wynik dużego programu Fortran, sformatowany dla tabeli lateksowej. Chcę zmienić formatowanie, ale nie mogę ponownie uruchomić programu Fortran z alternatywnym formatowaniem danych wyjściowych. Bawiłem się sedem, ale nie za bardzo.
Pojedyncza linia z tabeli ma obecnie format
0.1 & 0.166685D+01 & 0.162768D+01 & 0.139468D+01 & 0.126904D+01 & 0.133247D+01 \\
Chcę to zmienić na
0.1 & $0.16668510^{01}$ & $0.16276810^{01}$ & $0.13946810^{01}$ & $0.12690410^{01}$ & $0.133247 10^{01}$ \\
Obecnie mam
#!/bin/bash
sed -i 's/D\+./ 10^{/g' $1
co prowadzi mnie do tego stopnia
0.1 & 0.166685 10^{01 & 0.162768 10^{01 & 0.139468 10^{01 & 0.126904 10^{01 & 0.133247 10^{01 \\
ale nadal muszę dodać nawias zamykający i zawinąć każdą liczbę w parę symboli `$ '.
Jednym słowem zmieniłbym również dane na 3 dp, ale jest to mniej ważne.
Dowolni mistrzowie sed / regex, którzy są w stanie pomóc, a może sugestia innego narzędzia, które może lepiej pasować do tego problemu.
Dzięki
Tommy
Właśnie zdałem sobie sprawę z tego, że wszystkie moce są +01 w tej linii, to jest szansa, mogą być dowolne i różnią się w zależności od pliku, pozytywne i negatywne. Kolejny przykładowy wiersz z niektórymi NaNs wrzuconymi.
0.3 & 0.634620D-02 & NaN & NaN & -0.312678D-02 & 0.192654D-03 \\
Bułka z masłem. Kiedy będę miał projekty ze starożytnymi programami produkującymi lateks? :(
źródło