ubuntuusers.de

Berechnung mit Bash/Subtraktion in Script

Status: Gelöst | Ubuntu-Version: Ubuntu 14.10 (Utopic Unicorn)
Antworten |

ITNew85

Anmeldungsdatum:
21. November 2014

Beiträge: Zähle...

Hallo zusammen,

direkt vorneweg. Ich hab leider überhaupt keine große Ahnung von programmieren etc. Deshalb auch eine wahrscheinlich recht einfache Frage. Ich hab leider trotz längerem suchen bei google keine Lösung gefunden.

Ich habe einen Datensatz in dem eine Spalte bzw. die Zahlen in dieser Spalte korrigert werden müssen. Und zwar muss ich grundsätzlich 90 - die entsprechende Zahl subtrahieren. (vereinzelt sind die Zahlen auch negativ.

Ich habe nun folgendes versucht.

ang= "Zahl aus der Spalte" Bsp: -1.9426

ang_correct= echo "scale=4 ; 90 - $ang" | bc -l

wenn ich nun echo $ang_correct angebe bekomme ich keinen Wert ☹ wie kann ich das Ergebnis der Variable ang_correct zuweisen?

Danke schon mal für eure Hilfe

LG

TausB

Avatar von TausB

Anmeldungsdatum:
26. November 2009

Beiträge: 1570

Wohnort: Terra incognita

ITNew85 schrieb:

ang_correct= echo "scale=4 ; 90 - $ang" | bc -l

Probiere es mit:

ang_correct=$( echo "scale=4 ; 90 - $ang" | bc -l )

xubuntufriese

Avatar von xubuntufriese

Anmeldungsdatum:
3. Mai 2014

Beiträge: 340

ang=-1.9426; ang_correct=$(echo "scale=4 ; 90 - $ang" | bc -l); echo $ang_correct
91.9426

ITNew85

(Themenstarter)

Anmeldungsdatum:
21. November 2014

Beiträge: 5

Vielen lieben Dank!!

Hat geklappt Danke, Danke, Danke ☺

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Hi ITNew85,

erstmal nachträglich noch willkommen hier auf dem Forum !

Als Nachtrag: für solche spaltenorientierten Sachen würde ich ja als allererstes an awk denken, und nicht unbedingt etwas mit einem Shellskript zusammenklöppeln ... 🤓

Da ist das was Du brauchst alles schon mit an Bord:

track@lucid:~$ echo "1 2 abc -1.5 43"  |  awk '{ $4=$4+90; print $0}'
1 2 abc 88.5 43 

LG,

track

Antworten |