Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.unix.shell > #21731

Re: Extended pattern syntax extension

From Spiros Bousbouras <spibou@gmail.com>
Newsgroups comp.unix.shell
Subject Re: Extended pattern syntax extension
Date 2021-07-04 14:32 +0000
Organization Aioe.org NNTP Server
Message-ID <MmsCcM5LbSdiv6H71k@bongo-ra.co> (permalink)
References <s7io9t$mr3$1@news-1.m-online.net> <sbqpud$igo$1@news-1.m-online.net>

Show all headers | View raw


On Sun, 4 Jul 2021 00:56:13 +0200
Janis Papanagnou <janis_papanagnou@hotmail.com> wrote:
> On 13.05.2021 10:34, Janis Papanagnou wrote:
> > Kornshell introduced patterns (called extended patterns in bash) that
> > allowed, for example, pattern expressions like @(A|B|C), matching any
> > of the sub-patterns A, B, or C.  I was under the impression that I've
> > somewhere - maybe in some intermediate or experimental ksh version -
> > seen an extension of those patterns allowing expressions like @(A&B&C)
> > with the semantics of matching all sub-patterns (in arbitrary order).
> > 
> > One can think of various work-arounds for that like the equivalents
> > 
> > [[ $1 == *@(A*B*C|A*C*B|B*A*C|B*C*A|C*A*B|C*B*A)* ]]
> > 
> > [[ $1 == *A* && $1 == *B* && $1 == *C* ]]
> > 
> > ((c=0))
> > case $1 in
> > (*A*) ((c++)) ;&
> > (*B*) ((c++)) ;&
> > (*C*) ((c++)) ;&
> > (*) ((c==3))
> > esac
> > 
> > none of them really satisfying (if compared to @(A&B&C) ).
> > 
> > [...]
> > I'm quite sure I've seen it somewhere but don't recall where it was.
> 
> Doh! - I had obviously seen it described where it actually belongs, in
> the ksh man page...
> 
>  "A pattern-list is a list of one or more patterns separated from each
>   other with a & or ⎪.  A & signifies that all patterns must be matched
>   whereas ⎪ requires that only one pattern be matched."

I believe you want  |  rather than  ⎪ .Somehow you replaced the former
character with the latter which looks similar.

> But I used the pattern incorrectly in my tests. This one actually works
> 
>   [[ $1 == @(*A*&*B*&*C*) ]]
> 
> (A bit more clumsy but still better than the workarounds.)

Back to comp.unix.shell | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Extended pattern syntax extension Janis Papanagnou <janis_papanagnou@hotmail.com> - 2021-05-13 10:34 +0200
  Re: Extended pattern syntax extension Spiros Bousbouras <spibou@gmail.com> - 2021-05-13 13:22 +0000
    Re: Extended pattern syntax extension Janis Papanagnou <janis_papanagnou@hotmail.com> - 2021-05-13 16:59 +0200
      Re: Extended pattern syntax extension Spiros Bousbouras <spibou@gmail.com> - 2021-05-13 18:34 +0000
        Re: Extended pattern syntax extension Janis Papanagnou <janis_papanagnou@hotmail.com> - 2021-05-15 11:54 +0200
  Re: Extended pattern syntax extension Kaz Kylheku <563-365-8930@kylheku.com> - 2021-05-13 16:04 +0000
    Re: Extended pattern syntax extension Janis Papanagnou <janis_papanagnou@hotmail.com> - 2021-05-13 20:18 +0200
  Re: Extended pattern syntax extension Janis Papanagnou <janis_papanagnou@hotmail.com> - 2021-07-04 00:56 +0200
    Re: Extended pattern syntax extension Spiros Bousbouras <spibou@gmail.com> - 2021-07-04 14:32 +0000
      Re: Extended pattern syntax extension Janis Papanagnou <janis_papanagnou@hotmail.com> - 2021-07-04 16:52 +0200
        Re: Extended pattern syntax extension Spiros Bousbouras <spibou@gmail.com> - 2021-07-04 15:07 +0000
          Re: Extended pattern syntax extension Janis Papanagnou <janis_papanagnou@hotmail.com> - 2021-07-04 17:36 +0200
            Re: Extended pattern syntax extension William Unruh <unruh@invalid.ca> - 2021-07-04 17:03 +0000
              Re: Extended pattern syntax extension "David W. Hodgins" <dwhodgins@nomail.afraid.org> - 2021-07-04 15:32 -0400
                Re: Extended pattern syntax extension "David W. Hodgins" <dwhodgins@nomail.afraid.org> - 2021-07-04 15:40 -0400
              Re: Extended pattern syntax extension joerg@schily.net - 2021-07-05 10:43 +0000
            Re: Extended pattern syntax extension Spiros Bousbouras <spibou@gmail.com> - 2021-07-04 17:36 +0000
          Re: Extended pattern syntax extension William Unruh <unruh@invalid.ca> - 2021-07-04 15:57 +0000
            Re: Extended pattern syntax extension Spiros Bousbouras <spibou@gmail.com> - 2021-07-04 17:17 +0000
              Re: Extended pattern syntax extension William Unruh <unruh@invalid.ca> - 2021-07-04 19:43 +0000
        Re: Extended pattern syntax extension William Unruh <unruh@invalid.ca> - 2021-07-04 15:33 +0000

csiph-web