[GRASS5] shape file limit with v.in.org.all

Markus Neteler neteler at itc.it
Thu Jan 12 02:15:16 EST 2006

On Wed, Jan 11, 2006 at 02:02:52PM -0600, Kirk R. Wythers wrote:
> I have an odd script question. I am using a script v.in.ogr.all
> ===============================================
> #!/bin/bash
> #test to see if script is being run from GRASS
> if test "$GISBASE" = ""; then
>         echo "You must be in GRASS to run this program"
>         exit
> fi
> for MAP in `ls ~/projects/mn_dnr/shape_files/forties/county/*.shp`; do
>     v.in.ogr -o dsn=~/projects/mn_dnr/shape_files/forties/county/  
> output=`ba\
> sename $MAP .shp` layer=`basename $MAP .shp`;
> done
> ================================================
> to import a bunch (>100) shape files. When I run the script on the  
> whole directory of shape files, I get the error:
> ERROR 4: Unable to open /Network/Servers/truffula.fr.umn.edu/Volumes/ 
> disk1/home1/kwythers/projects/mn_dnr/shape_files/forties/county/ 
> wrig_forties.shx or /Network/Servers/truffula.fr.umn.edu/Volumes/ 
> disk1/home1/kwythers/projects/mn_dnr/shape_files/forties/county/ 
> wrig_forties.SHX.
> repeated for every shape file. However, if I run the same script on  
> just a few files, the world is cool. So far I have run it on 1 file,  
> 3 files, 6 files, and 20 files. I am about to try 50 or so files. Has  
> anyone see this kind of behavior before?

I guess that the parameter length created by `ls *...` is
exceeding a Un*x limit (for the shell or whatever).
You may try to rewrite it to first go into the
directory, then run the loop in that directory.


More information about the grass-dev mailing list