logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

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

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.

Examples

SHELLRastermapexample:
       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

       Vectormapexample(includingerrormessage):
       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 PythonScriptingLibrary 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’)

Keywords

       general, map management, scripts

Name

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

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`

See Also

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

Source Code

       Available at: g.findfile source code (history)

       Accessed: Friday Apr 04 01:18:54 2025

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

       © 2003-2025 GRASS Development Team, GRASS GIS 8.4.1 Reference Manual

GRASS 8.4.1                                                                                   g.findfile(1grass)

Synopsis

g.findfileg.findfile--helpg.findfile [-nl] element=stringfile=string  [mapset=string]   [--help]  [--verbose]  [--quiet]  [--ui]

   Flags:-n
           Do not add quotes

       -l
           List available elements and exit

       --help
           Print usage summary

       --verbose
           Verbose module output

       --quiet
           Quiet module output

       --ui
           Force launching GUI dialog

   Parameters:element=string[required]
           Name of an element

       file=string[required]
           Name of an existing map

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

See Also