Mailinglist Archive: opensuse-de (372 mails)

< Previous Next >
Re: Bash-Skript: Löschen mit sed, Summenbildung
Am Mi, 18 Apr 2012 23:30:01 CEST schrieb David Haller:

Hallo David,

Am Wed, 18 Apr 2012, ?l ??gn?r schrieb:
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.

grep -l '<type>Trekking' *.gpx | xargs

Um die Kilometer abzufragen, brauche ich den Wert hinter <p>Distanz:
Wie extrahiere ich am einfachsten nur die km? Mit sed?
[..]
<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>
[..]
Wie summiere ich die einzelnen Werte am besten?

$ awk '/<desc>.*<p>Distanz:/ {
d = gensub(/.*<p>Distanz: *([0-9,.]+) *km.*/,"\\1",1,$0);
gsub(",",".",d);
sum+=d;
}
END{ printf("%f\n", sum); }' *.gpx
7.000000

grep -l '<type>Trekking' *.gpx | xargs

Mir ist noch nicht so recht klar wie ich mit xargs dann deine
awk-Konstrukt aufrufe.

Wenn du willst, dann schicke ich dir 3 Beispiel gpx-Dateien zum Testen
zu.


--
Αl

--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um den Listen Administrator zu erreichen, schicken
Sie eine Mail an: opensuse-de+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups