Hallo,
ich hoffe hier richtig zu sein! Hab erst vor kurzen mit Linux angefangen und bräuchte etwas Hilfe mit dem Rechnen.
Was bedeutet:
Vari=`expr $Vari \/ 10`
In Vari steht z.B.: 1234567890
Finde einfach nichts brauchbares im Internet.
Oder wie kann ich aus der oberen Zahl nur die letzten 7 Stellen nehmen? 1234567890 -> 4567890
oder
87654321 -> 7654321?
mfg
schwa226
Zahlen unter Linux
-
- Neugieriger
- Beiträge: 10
- Registriert: Montag 13. Februar 2006, 20:05
-
- Einsteiger
- Beiträge: 203
- Registriert: Mittwoch 27. April 2005, 09:37
Ich nehme an du willst ein script schreiben, oder?
Schau mal hier,
besonders der Abschnitt für expr
Für deine Frage: du könntest dir die Länge (Anzahl der characters) berechnen lassen und dann den sub-string mit der entsprechenden Anzahl ab der entsprechenden Position ausgeben lassen.
Schau mal hier,
besonders der Abschnitt für expr
Für deine Frage: du könntest dir die Länge (Anzahl der characters) berechnen lassen und dann den sub-string mit der entsprechenden Anzahl ab der entsprechenden Position ausgeben lassen.
-
- Einsteiger
- Beiträge: 123
- Registriert: Montag 28. November 2005, 11:31
-
- Neugieriger
- Beiträge: 10
- Registriert: Montag 13. Februar 2006, 20:05
Danke für die Hilfe!
Die Methode: expr 1234567890 % 10000000 funktioniert leider nicht mit Zahlen > 2147483648 daher habe ich die expr substr funktion verwendet.
Nun habe ich aber noch andere Kleinigkeiten mit den ich einfach nicht zurecht komme. Muss vorausgeben, dass ich Linux Laie bin und das meine ersten Versuche sind!
Habe auf dem K*ywelt-Board ein Plugin gefunden, dass die Netzwerkgeschwindigkeit wärend der Aufnahme auf dem LCD anzeigt.
Hab nun versucht den graphischen Balken gegen eine Zahl auszutauschen. Das funktioniert auch bis jetzt ganz gut. Es wird im LCD TX: x.x Mbps angezeigt.
Leider ist das Script jetzt recht komplitziert und bei ORF bricht die Aufnahme ab. Zusätzlich schaff ich es einfach nicht mit Komma-Stellen zu rechnen. Eigentlich sollte der Bit Wert 2 mal durch 1024 dividiert werden, aber dann bleibt nur die Einer-Stelle übrig und der Rest ist futsch. Deswegen paßt der Angezeigte Wert nicht 100%ig.
Bin mir sicher, dass mir hier jemand helfen kann und das Script um einiges zu vereinfachen!
Die Methode: expr 1234567890 % 10000000 funktioniert leider nicht mit Zahlen > 2147483648 daher habe ich die expr substr funktion verwendet.
Nun habe ich aber noch andere Kleinigkeiten mit den ich einfach nicht zurecht komme. Muss vorausgeben, dass ich Linux Laie bin und das meine ersten Versuche sind!
Habe auf dem K*ywelt-Board ein Plugin gefunden, dass die Netzwerkgeschwindigkeit wärend der Aufnahme auf dem LCD anzeigt.
Hab nun versucht den graphischen Balken gegen eine Zahl auszutauschen. Das funktioniert auch bis jetzt ganz gut. Es wird im LCD TX: x.x Mbps angezeigt.
Leider ist das Script jetzt recht komplitziert und bei ORF bricht die Aufnahme ab. Zusätzlich schaff ich es einfach nicht mit Komma-Stellen zu rechnen. Eigentlich sollte der Bit Wert 2 mal durch 1024 dividiert werden, aber dann bleibt nur die Einer-Stelle übrig und der Rest ist futsch. Deswegen paßt der Angezeigte Wert nicht 100%ig.
Bin mir sicher, dass mir hier jemand helfen kann und das Script um einiges zu vereinfachen!
Code: Alles auswählen
#!/bin/sh
#Version 1.0.1
#von Alex zur Aufnahmekontrolle auf das LCD geschrieben..../10/2005
# Das Script mit den Rechten 755 nach /var/plugins kopieren und mit "/var/plugins/record-lcd &" aufrufen
# Beenden über "touch /tmp/lcd.stop"
#
# ACHTUNG (Anmerkung von genius777)
# Dieses Script stammt von alex12555 (JtG Board) und wurde von mir lediglich aufs V4 Image angepasst und
# grafisch etwas ueberarbeitet. Die eigentliche Routine stammt von alex! Meine Anerkennung hierfuer!
remotebox="localhost"
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?lock=1&clear=1"
while [ ! -e /tmp/lcd.stop ]; do
MiBse1=`ifconfig eth0 | grep "TX bytes" | cut -d ":" -f 3 | cut -d " " -f 1`
sleep 2
MiBse2=`ifconfig eth0 | grep "TX bytes" | cut -d ":" -f 3 | cut -d " " -f 1`
MiBse1_L=`expr length $MiBse1 - 6`
MiBse2_L=`expr length $MiBse2 - 6`
MiBse1=`expr substr $MiBse1 $MiBse1_L 7`
MiBse2=`expr substr $MiBse2 $MiBse2_L 7`
MiBse_diff=`expr $MiBse2 - $MiBse1`
MiBse_diff=`expr $MiBse_diff / 2`
# Überprüfung ob Ergebnis negativ:
if [ `expr match $MiBse_diff '-'` != 0 ]; then
MiBse_diff=`expr $MiBse_diff + 10000000`
fi
# umrechnen auf Bits
MiBse_diff=`expr $MiBse_diff \* 8`
MiBse_diff=`expr substr $MiBse_diff 1 1`.`expr substr $MiBse_diff 2 1`
time=`date +%H:%M`
secs=`date +%S`
secs=`expr $secs \* 100`
secs=`expr $secs \/ 60`
secpos=`expr 10 + $secs`
#ab hier gehr die Anzeige los...
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?clear=1"
#als erstes das Netzwerk und Beschriftung
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?xpos=7&ypos=19&size=30&font=2&text= AUFNAHME"
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?xpos=65&ypos=35&size=20&font=2&text=Mbps"
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?xpos=17&ypos=35&size=20&font=2&text= TX:%20$MiBse_diff"
#wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?rect=7,25,110,35,1,0"
#wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?rect=7,25,$pos,35,1,1"
#Uhrzeitanzeige...
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?rect=7,40,110,43,1,0"
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?rect=7,40,$secpos,43,1,1"
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?rect=5,45,73,62,0,0&xpos=7&ypos=60&size=22&font=2&text=$time"
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?xpos=52&ypos=60&size=12&font=2&text=Netzwerkstatus"
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?update=1"
#sleep 1
done
rm /tmp/lcd.stop
wget -q -Y off -O /dev/null "http://$remotebox/control/lcd?lock=0&clear=1&update=1"
-
- Neugieriger
- Beiträge: 7
- Registriert: Mittwoch 15. März 2006, 12:50
öhm... eigentlich heiße ich g.e.n.i.u.s.7.7.7 (ohne punkte ) aber der nutzername ist gesperrt sowie alle texte mit meinem nutzernamen als inhalt werden durch DOOFMANN ersetzt... wollte dem schwa226 schon schreiben warum er meinen kommentar abgeändert hat *grins* aber lag wohl an der boardsoft.# ACHTUNG (Anmerkung von DOOFMANN)
# Dieses Script stammt von alex12555 (JtG Board) und wurde von mir lediglich aufs V4 Image angepasst und
# grafisch etwas ueberarbeitet. Die eigentliche Routine stammt von alex! Meine Anerkennung hierfuer!
welchen hintergrund hat das? ist mein name zu ... selbstbewusst? .. für dieses board? oder gabs da mal vorfälle?
grüße
nils_e aka geni us777
-
- Neugieriger
- Beiträge: 10
- Registriert: Montag 13. Februar 2006, 20:05
-
- Neugieriger
- Beiträge: 7
- Registriert: Mittwoch 15. März 2006, 12:50
*lach* ja zum glück hatte ich es nicht abgeschickt
aber die hintergründe kennst du nicht oder? hatte mal meine kristallgoogle gefragt.. die meinte was von gen ius images mit emu usw
kann ja verstehen wenn sowas nicht supported wird aber deswegen den namen komplett ausm system verbannen?! oder war da mehr?
nunja.. kommt ihr halt in den genuss meines realnamens <g>
grüße
nils
aber die hintergründe kennst du nicht oder? hatte mal meine kristallgoogle gefragt.. die meinte was von gen ius images mit emu usw
kann ja verstehen wenn sowas nicht supported wird aber deswegen den namen komplett ausm system verbannen?! oder war da mehr?
nunja.. kommt ihr halt in den genuss meines realnamens <g>
grüße
nils