#!/usr/bin/perl -- ## Config #Set the path to your tracks directory, this must contain an 'in' folder, an 'nmea' folder, and a 'gpx' folder. $tracksPath = ""; local(*DIR); opendir DIR, "$tracksPath/in"; my @files = grep {-f "$tracksPath/in/$_" } readdir DIR; close DIR; foreach (@files){ $track = $_; if ($track =~ /.txt\Z/i) { #move to nmea folder `mv $tracksPath/in/$track $tracksPath/nmea/$track`; } } #Create a master files with all of your tracks. opendir DIR, "$tracksPath/nmea"; my @files = grep {-f "$tracksPath/nmea/$_" } readdir DIR; close DIR; sort @files; open (NMEA, ">$tracksPath/nmea.txt"); foreach (sort {$a <=> $b} @files){ $str = ""; open(FILE, "$tracksPath/nmea/$_"); while () { $str .= $_; } close FILE; print NMEA $str; } close (NMEA); #Convert to a master GPX `gpsbabel -i nmea -f $tracksPath/nmea.txt -o gpx -F $tracksPath/gpx.gpx`;