Scroll to navigation

g.findfile(1grass) GRASS User's Manual g.findfile(1grass)

NAME

g.findfile - Searches for GRASS data base files and sets variables for the shell.

KEYWORDS

general, map management, scripts

SYNOPSIS

g.findfile
g.findfile --help
g.findfile [-nlt] element=string file=string [mapset=string] format=name [--help] [--verbose] [--quiet] [--ui]

Flags:


Do not add quotes
Ignored when format is set to JSON

List available elements and exit

Return code 0 when file found, 1 otherwise
Behave like the test utility, 0 for true, 1 for false, no output

Print usage summary

Verbose module output

Quiet module output

Force launching GUI dialog

Parameters:


Name of an element

Name of an existing map

Name of a mapset (default: search path)
’.’ for current mapset

Output format
Options: shell, json
Default: shell
shell: shell script style output
json: JSON (JavaScript Object Notation)

DESCRIPTION

g.findfile is designed for Bourne shell or Python scripts that need to search for mapset elements, including: raster, vector maps, region definitions and imagery groups.

The list of element names to search for is not fixed; any subdirectory of the mapset directory is a valid element name.

However, the user can find the list of standard GRASS element names in the file $GISBASE/etc/element_list. This is the file which g.remove, g.rename and g.copy use to determine which files need to be deleted/renamed/copied for a given entity type.

NOTES

g.findfile writes four lines to standard output:

name=’file_name’
mapset=’mapset_name’
file=’unix_filename’
fullname=’grass_fullname

The output is Bash commands to set the variable name to the GRASS data base file name, mapset to the mapset in which the file resides, and file to the full UNIX path name for the named file. These variables may be set in the Bash as follows:

eval `g.findfile element=name mapset=name file=name`

EXAMPLES

SHELL

Raster map example:

eval `g.findfile element=cell file=elevation`

If the specified file (here: raster map) does not exist, the variables will be set as follows:

name=
mapset=
fullname=
file=

The following is a way to test for this case:

if [ ! "$file" ]
then
	exit 1
fi

Vector map example (including error message):

eval `g.findfile element=vector file="$G_OPT_V_INPUT"`
if [ ! "$file" ] ; then

g.message -e "Vector map <$G_OPT_V_INPUT> not found"
exit 1 fi

PYTHON

See Python Scripting Library for more info.

Note: The Python tab in the wxGUI can be used for entering the following code:

import grass.script as gcore
gcore.find_file(’elevation’, element = ’cell’)

SEE ALSO

g.filename, g.gisenv, g.mapsets, g.parser

AUTHOR

Michael Shapiro, U.S.Army Construction Engineering Research Laboratory

SOURCE CODE

Available at: g.findfile source code (history)

Latest change: Monday Nov 03 07:16:48 2025 in commit: c96796774942e46bbababcd652d3986d4e295665

Main index | General index | Topics index | Keywords index | Graphical index | Full index

© 2003-2026 GRASS Development Team, GRASS 8.5.0RC1 Reference Manual

GRASS 8.5.0RC1