Aureolus schrieb am 03.07.2024 23:25:
ANSATZ 2: Ginge dies hier, bzw. wĂ€ren gar regulĂ€re AusdrĂŒcke erforderlich?
n=1; for file in $input/"*-${n}-*".gpx ; do gpsbabel -i gpx -f $file -o kml -F $output/"bla_${n}__".kml; n=$((n+1));Ist vermutlich beides unvollstĂ€ndig und hirnrissig đ
Was wĂ€re eine sinnvolle Lösung? - Danke fĂŒr Input!
Das da macht schonmal gar keinen Sinn: "for file in $input/"*-${n}-*".gpx " wĂŒrde nur auf eine einzige Datei matchen, und zwar die *-1-*. Die for-Schleife wĂŒrde nur ĂŒber diese Datei iterieren. Ausserdem ist *-Expansion innerhalb von AnfĂŒhrungszeichen abgeschaltet und wĂŒrde damit auf gar keine Datei mehr matchen.
Ich wĂŒrde wahrscheinlich so etwas machen, nur als Ansatz und nicht getestet:
n=1;
while true ; do
file=*-$n-*
[ "$file" = "*-$n-*" ] && break # pattern matcht nicht => pattern bleibt so => keine Datei mit dieser Nummer
gpsbabal "$file" ...
n=$((n+1))
done
Das setzt voraus, dass die Nummern in den Inputfiles durchgÀngig sind. Ansonsten mit einer for-Schleife von bis durchgehen und Dateien skippen, wo das Pattern nicht matcht.
Das Posting wurde vom Benutzer editiert (04.07.2024 09:48).