Stahlman Family wrote:

> I guess the question is, what is meant by "delimits a field" in the
> following excerpt from the Bash manual?
> 
> "Any character in IFS that is not IFS whitespace, along with any
> adjacent IFS whitespace characters, delimits a field."
> 
> I suppose I'm interpreting it to mean "separates fields". It occurred to
> me that perhaps it means "terminates a field". The problem with that
> definition, however, is that if I add any single character after the
> final '|' in the example above, string_extract_verbatim will extract a
> final field, which is not terminated by anything in IFS, but simply by
> the end of the string. In that case, the final IFS delimiter is
> separating the final two fields. The bottom line is that since the Bash
> manual does not appear to distinguish between the cases of leading and
> trailing null fields, it appears that an arbitrary design choice
> determines that leading null fields are kept, and trailing ones are not.

The Posix committee has debated this issue several times.  In fact, there
is a standards interpretation (from 1995!) declaring that "delimiter"
must be used as "field terminator" (and the standard consistently uses
"delimiter").

The Posix rules are at

http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_05

Bash follows them faithfully.  The language isn't perfect, but there is
practical consensus among shell implementations.

Chet
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                       Live Strong.  No day but today.
Chet Ramey, ITS, CWRU    [EMAIL PROTECTED]    http://cnswww.cns.cwru.edu/~chet/


_______________________________________________
Bug-bash mailing list
Bug-bash@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-bash

Reply via email to