Ich habe, da ich mich damit ein wenig auskenne ein kleines Bash-Script erstellt welches ich gerne unter Windows ein paar Usern zur Verfügung stellen würde, aber überhaupt kein Plan habe wie ich das lösen soll.
Es geht um folgendes:
Es muss eine Datei Zeilenweise eingelesen werden,
Der Wert AltitudePoint Distance gefunden werden und je nach dem welchen wert ich dem Script Übergebe um diesen gekürzt werden. Idealerweise gebe ich noch an von welcher Zeile bis welcher Zeile das ganze ausgeführt werden soll.
Also ums zu verdeutlichen. die GPS Datei hat unendlich viele Zeilen und viele die ich in einer bestimmten Range ändern muss:
<AltitudePoint Distance="34914.724489331216" Lat="50.54771812726846" Lng="8.098671068368624" VideoTime="5346.8102428908333" />
der Wert AltitudePoint Distance=34914.72..." muss um 55 gekürzt werden, also auf 34864.71... oder auch bspw. 30 je nach dem was ich dem script übergebe.
Hier das Bash-Scripz was alles macht was gefordert ist:
Code: Alles auswählen
#!/bin/bash
echo $1 $2 $3 #Die übergebenen Variablen: $1=Dateiname, $2=Von Zeile,$3= Bis Zeile, $4=kürzung $5=Output-Datei
typeset -i i
while read entry
do
i=i+1
d=`echo $entry | grep "AltitudePoint" | grep "Distance" | cut -d\" -f2 | cut -d. -f1`
if [ $d ]; then
#echo "Alt:" $entry
a=`expr $d - $4`
if (( "$d" >= "0" )); then
if (( "$i" >= "$2" )); then
if (( "$i" <= "$3" )); then
echo ""
echo "ändere Zeile " $i
echo "Alt:" $entry
echo "Neu:" $entry | sed s/$d/$a/g
echo $entry | sed s/$d/$a/g >> $5
fi
fi
fi
else
i=i-1
echo $entry >> $5
fi
echo -n .
done < $1
echo ""
Wäre hier jemand bereit mir das in Python umzuschreiben, ohne das ich grad die ganze Sprache lernen muss ? Das wäre echt Super.
Cu Bernd