[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bookworm: dash shell globs don't recognise [^...] to negate a character class



On Fri 14 Apr 2023 at 12:01:39 (-0400), rhkramer@gmail.com wrote:
> On Thursday, April 13, 2023 10:36:08 PM Greg Wooledge wrote:
> > Anyway, here's the POSIX documentation section:
> > 
> > https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#t
> > ag_18_13
> > 
> > And the relevant piece of text:
> > 
> >  [  If an open bracket introduces a bracket expression as in XBD RE
> >     Bracket Expression, except that the <exclamation-mark> character
> >     ( '!' ) shall replace the <circumflex> character ( '^' ) in its
> >     role in a non-matching list in the regular expression notation, it
> >     shall introduce a pattern bracket expression. A bracket expression
> >     starting with an unquoted <circumflex> character produces unspecified
> >     results. Otherwise, '[' shall match the character itself.
> 
> Wow -- I thought this was an English language list :-(
> 
> But seriously, that seems very hard to interpret / understand.

The quick answer: it's a Standards document, so it's a penalty
you pay for precision. Look at the opening of that section:

 "2.13.1 Patterns Matching a Single Character

 "The following patterns matching a single character shall match a single character:"

BTW, the authors of these documents might be the sort of people
referred to by the early RFC authors in RFC 1000:

 "We weren't sure whether there was really room
  to think hard about these problems; surely someone from the east
  would be along by and by to bring the word. …

 "We had no official charter. Most of us were graduate students
  and we expected that a professional crew would show up eventually
  to take over the problems we were dealing with. …

 "I remember having great fear that we would offend whomever the
  official protocol designers were, and I spent a sleepless night
  composing humble words for our notes. The basic ground rules were
  that anyone could say anything and that nothing was official."

Cheers,
David.


Reply to: