[GRASS-user] List of existing values
Nikos Alexandris
nikos.alexandris at felis.uni-freiburg.de
Fri Jul 23 02:58:09 EDT 2010
Martin Landa wrote:
> > > > as mentioned in Hamish's response, use combination of
> > > > `sort` and `uniq`
> > > > r.starts -1 input=data | sort | uniq
Nikos:
> > > shorter:
> > > r.starts -1 input=data | sort -u
Hamish:
> > AFAIR, those are not the same thing and can not be used
> > interchangeably. (although I don't fully remember why right now)
Nikos:
> It has troubled me as well (now and in the past). I did (before posting the
> above) a quick test using a column from a vector map containing strings. I
> counted the result from both "uniq" and "sort -u" with "| wc -l". The
> results were identical.
>
> So... :-? Maybe it is ok for strings/integers(?). One should be more
> careful with those "knifes".
Hamish:
> > anyway, for floating point maps I still think it's a bad idea.
> >
> > I'm sure there is a Python equivalent of 'sort|uniq', but don't
> > know what it is.
> >
> > 'sort' and 'uniq' are UNIX command line power tools and not
> > available in MS Windows. But.. the MSys command prompt that
> > ships with WinGrass supplies them and you can use them there.
> > I suppose the "bin" dir where they are kept are not part of the
> > gui's PATH which is why they wouldn't work from the Cmd> gui
> > prompt.
Here some details from "(coreutils.info.gz)sort invocation":
--%<---
`-u'
`--unique'
Normally, output only the first of a sequence of lines that compare
equal. For the `--check' (`-c' or `-C') option, check that no
pair of consecutive lines compares equal.
This option also disables the default last-resort comparison.
The commands `sort -u' and `sort | uniq' are equivalent, but this
equivalence does not extend to arbitrary `sort' options. For
example, `sort -n -u' inspects only the value of the initial
numeric string when checking for uniqueness, whereas `sort -n |
uniq' inspects the entire line. *Note uniq invocation::.
--->%--
Nikos
More information about the grass-user
mailing list