Patterns

  1. create files for pattern matching

    $ cd
    $ mkdir patterndir
    $ cd patterndir
    $ touch a b c d e f g w x y z
    $ touch A B C D E F G W X Y Z
    $ touch aa bb cc dd ee ff gg
    $ touch AA BB CC DD EE FF GG
    $ touch ab ac ad ae ba bc bd
    $ touch aaa aaaa aaaaa
    $ touch bbb cccc ddddd
    $ touch 0 1 2 3 4 5 6 7 8 9
    $ touch 11 12 23 34 45 56 67 78 89 99
    

  2. now let's try some pattern matching

    $ls
    0   23  5   78  A   CC  F   X   aaa    ad  bbb  cccc   ee  w
    1   3   56  8   AA  D   FF  Y   aaaa   ae  bc   d      f   x
    11  34  6   89  B   DD  G   Z   aaaaa  b   bd   dd     ff  y
    12  4   67  9   BB  E   GG  a   ab     ba  c    ddddd  g   z
    2   45  7   99  C   EE  W   aa  ac     bb  cc   e      gg
    $ls ?
    0  2  4  6  8  A  C  E  G  X  Z  b  d  f  w  y
    1  3  5  7  9  B  D  F  W  Y  a  c  e  g  x  z
    $ls ??
    11  23  45  67  89  AA  CC  EE  GG  ab  ad  ba  bc  cc  ee  gg
    12  34  56  78  99  BB  DD  FF  aa  ac  ae  bb  bd  dd  ff
    $ls ???
    aaa  bbb
    $ls ????
    aaaa  cccc
    $ls ?????
    aaaaa  ddddd
    $ls a?
    aa  ab  ac  ad  ae
    $ls a*
    a  aa  aaa  aaaa  aaaaa  ab  ac  ad  ae
    $ls a?*
    aa  aaa  aaaa  aaaaa  ab  ac  ad  ae
    $ls [a-c]
    a  b  c
    $ls [a-c]*
    a  aa  aaa  aaaa  aaaaa  ab  ac  ad  ae  b  ba  bb  bbb  bc  bd  c  cc  cccc
    $ls [a-c]?
    aa  ab  ac  ad  ae  ba  bb  bc  bd  cc
    $ls [!a-c]?
    11  23  45  67  89  AA  CC  EE  GG  ee  gg
    12  34  56  78  99  BB  DD  FF  dd  ff
    $ls [a-z]
    a  b  c  d  e  f  g  w  x  y  z
    $ls [0-9]
    0  1  2  3  4  5  6  7  8  9
    $ls [a-zA-z]
    A  B  C  D  E  F  G  W  X  Y  Z  a  b  c  d  e  f  g  w  x  y  z
    $ls [A-Za-z]
    A  B  C  D  E  F  G  W  X  Y  Z  a  b  c  d  e  f  g  w  x  y  z
    $ls [A-z]
    A  B  C  D  E  F  G  W  X  Y  Z  a  b  c  d  e  f  g  w  x  y  z
    $ls [a-Z]
    ls: [a-Z]: No such file or directory
    $ls [a-c]b
    ab  bb
    $ls [a-c]b*
    ab  bb  bbb