This file is indexed.

/usr/share/doc/gpsdrive/examples/wpcvt is in gpsdrive 2.10~pre4-6.dfsg-5.2ubuntu1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
#!/usr/bin/perl -w
# Converts Garmin data from garble for gpsdrive
# by Ned Konz <ned@bike-nomad.com> 
# Sun Feb 17 10:48:09 PST 2002
#
# This is licensed under the GPL
#
# Usage:
# wpcvt file [...] > output
# or:
# wpcvt < file > output
#
# If converting tracks, will name output files like:
# track2001Oct7_191800.sav

# garble -r
# four fields, last blank or comment
# ELIOT  / 47.95, -122.31 / 
# Routes have blank lines separating them.
# converted to waypoint format:
# 1_ELIOT  47.95 -122.31

# garble -t
# three fields
# 47.8544, -122.424 / Sun Oct  7 19:18:00 2001
# converted to track format:
# 47.8544 -122.424 Sun Oct  7 19:18:00 2001
# tracks have blank lines between them
# Each separate track will be in a track file
# named using the datestamp of the first point.

# garble -w
# four fields, last non-blank (comment)
# 004    / 48.1638, -122.516 / 11-FEB-02 19:24
# converted to:
# DEFAUL    48.2893 -122.226 

# garble -x
# id / dist / lat, long / comment
# 

my $type        = undef;
my $routeNumber = 1;
my $lineNumber  = 0;       # within group

while (<>)
{
	chomp;

	if (/^$/)
	{
		$routeNumber++;
		$lineNumber = 0;
		next;
	}

	if ( $. == 1 )    # first line of new file?
	{
		print STDERR "now processing $ARGV\n";
		$type       = undef;
		$lineNumber = 0;
		close OUT;
		select STDOUT;
	}

	my @f = split ( /\s*[\/,]\s*/, $_, -1 );
	$f[0] =~ y/ /_/;    # change spaces in names to _

	if ( !$type )       # determine type, make new output file if needed
	{
		if    ( @f == 5 ) { $type = 'x' }
		elsif ( @f == 3 ) { $type = 't' }
		elsif ( $f[3] =~ /^\d+-\D+-\d+ \d+:\d+$/ ) { $type = 'w' }
		else { $type = 'r' }
	}

	# make new output file if necessary
	if ( $type eq 't' && $lineNumber == 0 )
	{
		my @d = split ( /[ :]+/, $f[2] );
		my $fileName = "track$d[6]$d[1]$d[2]_$d[3]$d[4]$d[5].sav";
		open OUT, ">$fileName" or die "can't open $fileName\: $!\n";
		select OUT;
	}

	if ( $type eq 'r' )
	{
		print "${routeNumber}_$f[0] $f[1] $f[2]\n";
	}
	elsif ( $type eq 'x' )
	{
		print "$f[0] $f[2] $f[3]\n";
	}
	else    # -t or -w output
	{
		print "$f[0] $f[1] $f[2]\n";
	}

	$lineNumber++;
}
continue
{
	# make sure that $. gets reset
	close ARGV if eof;
}