Ich muss zwei Spalten einer Datei in wissenschaftliche Notation ändern. Die Datei sieht aus wieprintf, Druckwert in wissenschaftliche Notation
test.txt
10177 1 A AC 0.376827 0.0116338 0.0316735 0.713391 0.422784 0.936182
10352 1 T TA 0.43176 0.00523364 0.0307872 0.865015 0.427932 0.680802
Ich habe Werte in Spalte 5 und 6, um wissenschaftliche Schreibweise zu ändern ich weiß von printf "%1.3e", $5 test.txt
oder printf "%1.3e", $6 test.txt
. Diese Befehle fügen jedoch Werte aus diesen Spalten in wissenschaftlicher Schreibweise zu Beginn von test.txt
hinzu. Wie kann ich Werte der Spalten 5 und 6 zu wissenschaftlichen ändern und halten Sie sie in Spalte 5 und 6. Vielen Dank für Anregungen.
Ergebnis erwarten wie
test.txt
10177 1 A AC 3.768e-01 1.163e-02 0.0316735 0.713391 0.422784 0.936182
10352 1 T TA 4.318e-01 5.234e-03 0.0307872 0.865015 0.427932 0.680802
aussehen würde ich den folgenden Code verwenden, die offensichtlich nicht richtig :) ist
awk '{printf "%1.3e", $5}' test.txt > test1.txt
mv -f test1.txt test.txt
das erwartete Ergebnis wäre gut – RomanPerekhrest
@RomanPerekrest, danke, ich habe es hinzugefügt – ThePooh
Schreiben Sie einfach die Ausgabe in eine neue Datei. Lesen Sie die Eingabedatei Zeile für Zeile, für jede andere Spalte als 3/4 kopieren Sie einfach wie in der neuen Datei. Für Spalten 3/4 manipulieren Sie wie benötigt und schreiben Sie das manipulierte Ergebnis in die neue Datei. – SHG