Re: [GRASS-dev] g.mlist: exclude parameter wish

2008-11-20 Thread Glynn Clements

Huidae Cho wrote:

 We could add the exclude option, but I'm not so sure if we really need it.
 You can solve your problem by using a more specific wildcard if Paul's
 trick doesn't work.
 
 pat=gpcp_1dd_p1d_[0-9][0-9][0-9][0-9]_count
 
 It's a little lengthy, but it works.  Any better examples where we might
 want the exclude option?

Also, you can always use 'g.mlist ... | grep -v ...'.

OTOH, adding e.g. G_set_ls_exclude_filter() wouldn't be much work.

Although it's theoretically possible to complement or subtract
regular expressions, in practice it's rather ugly, i.e. the result is
often far more complex than the original(s). And it isn't possible to
complement glob patterns.

While we're on the subject, I'm wondering if it would be worthwhile
using glob() where it's available (i.e. everywhere except Windows),
instead constructing an equivalent[1] regexp.

[1] There are a number of differences between g.mlist's glob patterns
and glob(), e.g. it doesn't support complemented ranges, it interprets
metacharacters within ranges, etc.

-- 
Glynn Clements [EMAIL PROTECTED]
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] g.mlist: exclude parameter wish

2008-11-19 Thread Markus Neteler
On Wed, Nov 19, 2008 at 10:51 AM, Paul Kelly
[EMAIL PROTECTED] wrote:
 Hi Markus

 On Wed, 19 Nov 2008, Markus Neteler wrote:

 Hi,

 would it be complicated to add an exclude_pattern parameter to
 g.mlist/g.mremove?

 Example: I want to select only the gpcp_1dd_p1d_*_count maps but not the
 monthly
 counts:

 g.mlist type=rast patt=gpcp_1dd_p1d_*_count

 What about
 g.mlist type=rast patt=gpcp_1dd_p1d__count

bingo :)

 I think that should work with a shell script version of g.mlist anyway, as ?
 characters can be used to represent single characters in wildcard patterns
 passed to the ls command.

This works, resolved for today.

Markus
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] g.mlist: exclude parameter wish

2008-11-19 Thread Hamish
Markus wrote:
 g.mlist type=rast patt=gpcp_1dd_p1d_*_count
 exclude=month
 gpcp_1dd_p1d_1997_count
 gpcp_1dd_p1d_1998_count
 gpcp_1dd_p1d_1999_count
 gpcp_1dd_p1d_2000_count
 gpcp_1dd_p1d_2001_count
 gpcp_1dd_p1d_2002_count
 gpcp_1dd_p1d_2003_count
 gpcp_1dd_p1d_2004_count
 gpcp_1dd_p1d_2005_count
 gpcp_1dd_p1d_2006_count
 gpcp_1dd_p1d_2007_count
 
 I know that -r and -e are available but I failed to write
 an exclusion regex.
 And often just simple patterns are to be suppressed in the
 selection.


no idea about the C version, but with the shell script version it would
be roughly like

if [ -n $GIS_OPT_EXCLUDE ] ; then
  EXCLD_STR=| grep -v $GIS_OPT_EXCLUDE
else
  EXCLD_STR=
fi


g.list * ... | ... $EXCLD_STR



do you now use g.mlist | grep -v 'expr' ?


Hamish



  

___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] g.mlist: exclude parameter wish

2008-11-19 Thread Markus Neteler
On Wed, Nov 19, 2008 at 11:12 AM, Hamish [EMAIL PROTECTED] wrote:
 Markus wrote:
 g.mlist type=rast patt=gpcp_1dd_p1d_*_count
 exclude=month
 gpcp_1dd_p1d_1997_count
 gpcp_1dd_p1d_1998_count
 gpcp_1dd_p1d_1999_count
 gpcp_1dd_p1d_2000_count
 gpcp_1dd_p1d_2001_count
 gpcp_1dd_p1d_2002_count
 gpcp_1dd_p1d_2003_count
 gpcp_1dd_p1d_2004_count
 gpcp_1dd_p1d_2005_count
 gpcp_1dd_p1d_2006_count
 gpcp_1dd_p1d_2007_count

 I know that -r and -e are available but I failed to write
 an exclusion regex.
 And often just simple patterns are to be suppressed in the
 selection.


 no idea about the C version, but with the shell script version it would
 be roughly like

 if [ -n $GIS_OPT_EXCLUDE ] ; then
  EXCLD_STR=| grep -v $GIS_OPT_EXCLUDE
 else
  EXCLD_STR=
 fi


 g.list * ... | ... $EXCLD_STR

Yes - but I dunno how to implement that in C.

 do you now use g.mlist | grep -v 'expr' ?


g.mlist type=rast patt=gpcp_1dd_p1d_*_count  | grep -v month | tr
'\n' ',' | sed 's+,$++g

but that's rather funky for daily usage.
[for today, Paul's trick helped but the problem will return]

Markus
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] g.mlist: exclude parameter wish

2008-11-19 Thread Paul Kelly

Hi Markus

On Wed, 19 Nov 2008, Markus Neteler wrote:


Hi,

would it be complicated to add an exclude_pattern parameter to
g.mlist/g.mremove?

Example: I want to select only the gpcp_1dd_p1d_*_count maps but not the monthly
counts:

g.mlist type=rast patt=gpcp_1dd_p1d_*_count


What about
g.mlist type=rast patt=gpcp_1dd_p1d__count

I think that should work with a shell script version of g.mlist anyway, as 
? characters can be used to represent single characters in wildcard 
patterns passed to the ls command.


Paul


gpcp_1dd_p1d_1997_2007_month04_10_count
gpcp_1dd_p1d_1997_count
gpcp_1dd_p1d_1997_month04_10_count
gpcp_1dd_p1d_1998_count
gpcp_1dd_p1d_1998_month04_10_count
gpcp_1dd_p1d_1999_count

___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] g.mlist: exclude parameter wish

2008-11-19 Thread Huidae Cho
Markus,

We could add the exclude option, but I'm not so sure if we really need it.
You can solve your problem by using a more specific wildcard if Paul's
trick doesn't work.

pat=gpcp_1dd_p1d_[0-9][0-9][0-9][0-9]_count

It's a little lengthy, but it works.  Any better examples where we might
want the exclude option?

Huidae


On Wed, Nov 19, 2008 at 12:40:52PM +0100, Markus Neteler wrote:
 On Wed, Nov 19, 2008 at 11:12 AM, Hamish [EMAIL PROTECTED] wrote:
  Markus wrote:
  g.mlist type=rast patt=gpcp_1dd_p1d_*_count
  exclude=month
  gpcp_1dd_p1d_1997_count
  gpcp_1dd_p1d_1998_count
  gpcp_1dd_p1d_1999_count
  gpcp_1dd_p1d_2000_count
  gpcp_1dd_p1d_2001_count
  gpcp_1dd_p1d_2002_count
  gpcp_1dd_p1d_2003_count
  gpcp_1dd_p1d_2004_count
  gpcp_1dd_p1d_2005_count
  gpcp_1dd_p1d_2006_count
  gpcp_1dd_p1d_2007_count
 
  I know that -r and -e are available but I failed to write
  an exclusion regex.
  And often just simple patterns are to be suppressed in the
  selection.
 
 
  no idea about the C version, but with the shell script version it would
  be roughly like
 
  if [ -n $GIS_OPT_EXCLUDE ] ; then
   EXCLD_STR=| grep -v $GIS_OPT_EXCLUDE
  else
   EXCLD_STR=
  fi
 
 
  g.list * ... | ... $EXCLD_STR
 
 Yes - but I dunno how to implement that in C.
 
  do you now use g.mlist | grep -v 'expr' ?
 
 
 g.mlist type=rast patt=gpcp_1dd_p1d_*_count  | grep -v month | tr
 '\n' ',' | sed 's+,$++g
 
 but that's rather funky for daily usage.
 [for today, Paul's trick helped but the problem will return]
 
 Markus
 ___
 grass-dev mailing list
 grass-dev@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/grass-dev
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev