Hinzufügen von Zahlen in einigen Zellen einer Tabelle

397
Jason Mason

Gegeben eine ASCII-Textdatei auf einem generischen Unix / Linux-System, die wie folgt aussieht:

| 0.9 | 0.6 | 8+1 | ...  ... 

Wie kann ich die Ausdrücke durch ihre Werte ersetzen, beispielsweise 8 + 1 durch 9 ersetzen?

Awk, Emacs, Python, Perl oder welche Lösung auch immer zur Verfügung steht.

Linux, nur "+". Es ist entweder Ziffer + Ziffer (ohne Leerzeichen) wie oben oder nur Ziffer. Einige sind Dezimalzahlen, andere nicht.

0
Sie müssen Ihre Anforderungen wahrscheinlich noch etwas definieren. Welches Betriebssystem? Welche Operanden werden Sie zulassen? +, -, *, / Ich vermute, aber was ist mit Exponenten? Wurzeln? EBGreen vor 6 Jahren 1
@ EBgrün: Frage aktualisiert. Jason Mason vor 6 Jahren 0
Was genau meinen Sie mit "Ziffer"? Die Dezimalstellen sind "0", "1", "2", "3", "4", "5", "6", "7", "8" und "9". "0,6" und "0,9" sind keine Ziffern. Erwarten Sie auch, dass die Leerzeichen zwischen den Zahlen / Ausdrücken erhalten bleiben oder was? Scott vor 6 Jahren 0

0 Antworten auf die Frage