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

Markus Neteler neteler at osgeo.org
Thu Nov 20 14:07:45 EST 2008


On Thu, Nov 20, 2008 at 4:22 PM, Glynn Clements
<glynn at gclements.plus.com> wrote:
>
> 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?

Imagine thousands of similar map names (derivatives of time series
elaborations), then wildcards won't suffice.

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

In a script it needs to be:
LIST=`g.mlist type=rast patt=...  | grep -v ... | tr '\n' ',' | sed 's+,$++g`

which is already more complicated (not for me but for xx% of
the users).

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

This would be pretty convenient.

> 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.

I have no idea, sorry... so cannot comment on "glob".

Markus


More information about the grass-dev mailing list