Lieber Al, ich geh mal davon aus, dass Dein gepostetes Ergebnis aus lauter einzelnen langen Zeilen besteht. Dann hilft dies um die Kilometer hinter Distanz aufzusummieren (nach Deiner Pipe): | sed -e 's/.*[dD]istanz: \([^ ]*\) km.*/\1/' -e 's/,/./' -e '/^ *$/d' | awk '{ sum += $1 } END { print sum }' Am Mittwoch, den 18.04.2012, 18:28 +0200 schrieb Аl Воgnеr:
Vorbemerkung: Es geht vorerst nur um einen simplen Fahrrad-Kilometerzähler, der mit dem GPS eines Android-Handys realisiert werden soll. Ich denke Oruxmaps könnte dafür geeignet sein, da man damit automatisch nach Beenden eines Tracks eine gpx-Datei erstellen kann, die dann wiederum per rsync-Script auf den PC kopiert werden kann. Bessere Ideen sind willkommen, die Lösung des Beispiels interessiert mich aber auf jeden Fall.
Die Beispieldaten sind von den Werten nicht realistisch, da es sich um keine Aufzeichnungen mit dem Rad handelt, sollte aber egal sein.
cat /install/androidins/net_backup_sdkarte/oruxmaps/tracklogs/2012*.gpx | grep -i type <type>Unbestimmt</type> <type>Unbestimmt</type> <type>Unbestimmt</type> <type>Trekking</type>
Was wäre die einfachste Methode um nur gpx-Dateien mit zB <type>Trekking</type> auszuwählen? Geht das nur mit einer Schleife? Aber vermutlich braucht man die sowieso.
for file in `grep -l '<type>Trekking</type>'` do echo $file ... done
Um die Kilometer abzufragen, brauche ich den Wert hinter <p>Distanz: Wie extrahiere ich am einfachsten nur die km? Mit sed?
#Leerzeilen für bessere Lesbarkeit eingefügt cat /install/androidins/net_backup_sdkarte/oruxmaps/tracklogs/2012*.gpx | grep -i distanz
<desc><![CDATA[<h1>OruxMaps</h1><br /><hr align="center" width="480" style="height: 2px; width: 517px"/><h2>Name: 2012-04-17 17:06</h2><br /><p>Startzeit: 04/17/2012 17:06</p><p>Zielzeit: 04/17/2012 17:06</p><p>Distanz: 0 km (00:00)</p><p>Bewegungszeit: 00:00</p><p>Durchschnitts-Geschw.: 0 km/h</p><p>Netto Geschwindigkeit: 0 km/h</p><p>Max. Geschwindigkeit: 0 km/h</p><p>Minimale Höhe: 467 m</p><p>Maximale Höhe: 467 m</p><p>Aufstieg: 0 m</p><p>Abstieg: 0 m</p><p>Steigzeit: 00:00</p><p>Sinkzeit: 00:00</p><hr align="center" width="480" style="height: 2px; width: 517px"/>]]></desc>
<desc><![CDATA[<h1>OruxMaps</h1><br /><hr align="center" width="480" style="height: 2px; width: 517px"/><h2>Name: 2012-04-17 17:07</h2><br /><p>Startzeit: 04/17/2012 17:07</p><p>Zielzeit: 04/17/2012 17:08</p><p>Distanz: 0,4 km (00:01)</p><p>Bewegungszeit: 00:00</p><p>Durchschnitts-Geschw.: 21,5 km/h</p><p>Netto Geschwindigkeit: 95,6 km/h</p><p>Max. Geschwindigkeit: 36 km/h</p><p>Minimale Höhe: 474 m</p><p>Maximale Höhe: 479 m</p><p>Aufstieg: 3 m</p><p>Abstieg: 0 m</p><p>Steigzeit: 00:00</p><p>Sinkzeit: 00:00</p><hr align="center" width="480" style="height: 2px; width: 517px"/>]]></desc>
<desc><![CDATA[<h1>OruxMaps</h1><br /><hr align="center" width="480" style="height: 2px; width: 517px"/><h2>Name: 2012-04-17 17:11</h2><br /><p>Startzeit: 04/17/2012 17:11</p><p>Zielzeit: 04/17/2012 17:21</p><p>Distanz: 1,7 km (00:09)</p><p>Bewegungszeit: 00:06</p><p>Durchschnitts-Geschw.: 10,9 km/h</p><p>Netto Geschwindigkeit: 16,4 km/h</p><p>Max. Geschwindigkeit: 36,9 km/h</p><p>Minimale Höhe: 463 m</p><p>Maximale Höhe: 495 m</p><p>Steig-Geschw.: 281,8 m/h</p><p>Sink-Geschw.: -556,3 m/h</p><p>Aufstieg: 27 m</p><p>Abstieg: -15 m</p><p>Steigzeit: 00:05</p><p>Sinkzeit: 00:01</p><hr align="center" width="480" style="height: 2px; width: 517px"/>]]></desc>
<desc><![CDATA[<h1>OruxMaps</h1><br /><hr align="center" width="480" style="height: 2px; width: 517px"/><h2>Name: 2012-04-18 14:32</h2><br /><p>Startzeit: 04/18/2012 14:32</p><p>Zielzeit: 04/18/2012 17:11</p><p>Distanz: 4,9 km (02:26)</p><p>Bewegungszeit: 01:38</p><p>Durchschnitts-Geschw.: 2 km/h</p><p>Netto Geschwindigkeit: 3 km/h</p><p>Max. Geschwindigkeit: 25,2 km/h</p><p>Minimale Höhe: 459 m</p><p>Maximale Höhe: 501 m</p><p>Steig-Geschw.: 27 m/h</p><p>Sink-Geschw.: -157,7 m/h</p><p>Aufstieg: 48 m</p><p>Abstieg: -66 m</p><p>Steigzeit: 01:47</p><p>Sinkzeit: 00:25</p><hr align="center" width="480" style="height: 2px; width: 517px"/>]]></desc>
cat /install/androidins/net_backup_sdkarte/oruxmaps/tracklogs/2012-04-18\ 1432__20120418_1432.gpx | grep -i distanz | sed -e '/<desc>/,/Distanz:/d'
Das löscht mir leider nicht den Text von <desc> bis Distanz:
Nehmen wir nun an, dass die km-Werte dann nur aus Zahlen in einer Variable zur Verfügung stehen, also zB
0 0,4 1,7 4,9
Wie summiere ich die einzelnen Werte am besten?
-- Αl
-- Beste Gruesse Christoph Stockmayer --------------------------------------------------- Ingenieurbuero Christoph Stockmayer GmbH Dipl.Ing. Chr. Stockmayer SCLT, CNI, LPIC1, CLA Dreihoehenstr. 1 90571 Schwaig Tel: 0911/505241 Fax: 0911/5009584 eMail: sto@stockmayer.de, christoph.stockmayer@gmx.de ePost: christoph.stockmayer@epost.de WWW: www.stockmayer.de, www.stockmayer.eu Geschaeftsfuehrer: Christoph Stockmayer HRB 1290, Bad Hersfeld, Abt. Rotenburg --------------------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org