bc rechnet nicht … (oder Alternative?)

Status
Für weitere Antworten geschlossen.

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.381
Punkte für Reaktionen
1.195
Punkte
234
Hallo zusammen,

für synOTR muss ich die Framerate mit Dezimalstellen errechnen. Dazu verwende ich bc. Das klappt auch gut, nur bei einem User mit einer DS116 (ARMv7) wirft bc eine leere Zeichenkette aus. Ruft man dessen Hilfe auf, scheint es aber zu arbeiten. Seht ihr einen Fehler?

Das ist der gesamte Aufruf, der sonst überall funktioniert - so sollte es also eigentlich sein:
Rich (BBCode):
fps=`echo "$ffprobeInfo" | jq '.streams[0].r_frame_rate' | sed "s/\"//g" | bc -l | awk '{printf "%.2f\n", $1}' ` 
echo $fps
29.97

Eine Kurze Analyse auf der Problem-DS:
In der Datei "$ffprobeInfo" filtere ich die Variable "r_frame_rate" heraus.
(So sieht die Zeile aus: "r_frame_rate": "30000/1001",)
Rich (BBCode):
fps=`echo "$ffprobeInfo" | jq '.streams[0].r_frame_rate'`
echo $fps
"30000/1001"

Hochkommas filtern:
Rich (BBCode):
fps=`echo "$fps" | sed "s/\"//g" `
echo $fps
30000/1001

Wert berechnen (praktischer Weise wird der Wert ja bereits als Bruch vorgegeben):
Rich (BBCode):
fps=`echo "$fps" | bc -l `
echo $fps
Ausgegeben wird ein leerer String.

Ruft man die Hilfe von bc auf, kommt die erwartete Ausgabe:
Rich (BBCode):
bc --help
usage: /volume1/Downloads/OTR/synOTR/app/binARMv7l/bc [options] [file ...]
-h --help print this usage and exit
-i --interactive force interactive mode
-l --mathlib use the predefine math routnes
-q --quiet don't print initial banner
-s --standard non-standard bc constructs are errors
-w --warn warn about non-standard bc constructs
-v --version print version information and exit

Falls es jemand testen möchte, habe ich hier zwei Versionen von bc (ARMv7):
bc selbst kompiliert
bc vom Raspiprojekt

Seht ihr noch eine andere Möglichkeit der Berechnung (mit Dezimalstellen) auf der DS?
 

benoga

Gesperrt
Mitglied seit
20. Jan 2013
Beiträge
118
Punkte für Reaktionen
0
Punkte
0
gawk schon probiert?

Rich (BBCode):
gawk '{print $0/3.22}' <<< 44.338
 

benoga

Gesperrt
Mitglied seit
20. Jan 2013
Beiträge
118
Punkte für Reaktionen
0
Punkte
0
Und auf der DS116 hats mit gawk auch geklappt?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat