Tools
Alle Heise-Foren > heise online > Software > Tools > Dateinamen in Schleifen --> K…
Ansicht umschalten
Avatar von Aureolus
  • Aureolus

mehr als 1000 Beiträge seit 04.02.2015

Dateinamen in Schleifen --> Korrekte Reihenfolge!

#!/bin/sh # Umwandlung aller gpx Dateinen ins kml Format: input=~/ Pfad zu den GPX /gpx/ output=~/ Pfad zu den zu erzeugenden KML /kml/ n=1; for file in $input/*.gpx ; do gpsbabel -i gpx -f $file -o kml -F $output/"bla_${n}__".kml; n=$((n+1)); done ;

Erklärung: Es sollen in einem Ordner alle *.gpx Dateien in *.kml Dateien umgewandelt werden. Die Umwandlung klappt an sich *einwandfrei*, nur leider in willkürlicher "Zuordnung" bei den Dateinamen der Outputs, weil nur stur hochgezählt wird, und zwar *egal*, welche Nummer das jeweilige Inputfile hat. Die "Sortierung/ Zuordnung" ist falsch.

ANSATZ 1: Würde sowas hier funktionieren, und wie würde sichergestellt, dass m=n, bzw. ginge es auch auch eleganter? – Nimm "*-${m}-*".gpx und erzeuge "bla_${n}__".kml unter der Prämisse, daß m=n:

n=1; m=1; for file in $input/"*-${m}-*".gpx ; do gpsbabel -i gpx -f $file -o kml -F $output/"bla_${n}__".kml; n=$((n+1));

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!

Bewerten
- +
Ansicht umschalten