xfmt : V1.3=(W)= t@CstH[}beBOB
`  :xfmt [/options] filename [fieldspec ...]
  options    :
    /D"delms"  :ǉ̓̓t@CtB[hB
                  ȗl" \t"(Xy[Xƃ^u)B
    /L[n]x[str]:sI𕶎wBn:J(s 1)Bx:S/E/I/XB
                 S:̕܂ލs璊oJnB
                 E:̕܂ލsŒoIB
                 I:(Include)̕܂ލs͒oB
                 X:(eXclude)̕܂ލs͒oȂB
                 +:O  AND AB
                I  X ͎w肳ꂽɃ`FbNB
                ŏ X ȂSsoAŏ I ȂSsI肳B
                ) /L8S"12:00:00" /L8E"13:00:00"
                    (Wڂ"12:00:00"̍s
                     Wڂ"13:00:00"܂ł𒊏o)
                    /LX"Normal" /L20I"Overridden"
                    (1ڂ"Normal"20ڂ"Overridden"łȂs
                     IȂ)
                    /L5I"RC" /L9+"Ok"
                    (5ڂ"RC"9ڂ"Ok"̂𒊏o)
    /Ooutfile  :o̓t@CBȗl͕WóB
    /Q[s][d]   :p̍lBp͖̕B
                 s:dpAd:dpB/Q ݂̂͗lB
    /Rnn       :sȂt@CnnoCgƂɉs}B
    /S[R]"seps":o͗ptB[h}Bȗl" "(1Xy[X)B
                R:̓t@C͎̕cɂ̎w蕶ŒuB
    /Xoutfile2 :IȂs̏o͐t@CBȗl͏o͂ȂB
    /Yx,/Nx    :̑̃tOIvVB
                Na:tB[hȂBYs w肪Ȃ΃Rs[óB
                   Ys w肪΃Xy[XkóB
                Nc:o̓t@C㏑̂ƂmFMsgoȂB
                Ys:fieldspecw̃tB[ho͂B
  fieldspec: fieldno[-fieldno]][O][R|L|P][N|A][C][:col-spec]
            col-spec: [X]{start-substr|[-]cols}[:{end-substr|[-]cols|Llength}]
            start/end-substr: [T|E][-]{A|B}fldstr
        filedno:(ȗl̓Xy[Xƃ^u)ɂtB[hԍBmax=99B
        O      :̃tB[hԍȍ~͂PtB[hƂ݂ȂB
        R      :ElB/Naw肪ȂƂ̏ȗl
        L      :lB
        P      :_킹ĉElB
        N      :ltB[hTĂŉElB
        A      :N  C ̌ʂ㑱tB[hɑ΂UZbgB
        C      :ȍ~̑StB[ĥ̊Ԃ̃Xy[XPXy[XɈkB
                NƈꏏɎw肷ƐltB[h܂łkB
                ) l 5r  (TȊO͍)
                    1-5p (1T܂ŏ_lɂ"P"Kp)
                    r l 4c (E,, 4ȍ~ׂ͂Ĉkčl)
        X      :폜̈ӖB
        T|E    :fldstr܂܂Ȃs̕Jn/IʒuAT:s,E:sB
                Jnwł͏ȗl Xw(폜)̏ꍇ "e"A
                ȊO "t"BIwł XɊ֌WȂ"e"B
        [-]A|B :Jn/Iʒufldstrw̌̕(A)O(B)wB
                "-" fldstr납TB
        fldstr :oJn/Iʒu߂邽߂̕B
                ":"܂ގ͂Pdp(')ň͂ށB
                ) 3:xb"time out"
                    (3"time out"܂ނȂ炻̑O폜)
                    4:a'Time:':bElapsed
                    ("Time"̌ォ"Elapsed"̑O܂Ŏo)
        [-]cols:̓tB[hJn/Iʒu."-"͌ォ̈ʒuB
                ) 3:3:5    (3 3-5 o)
                    6:x-5:-2 (6 납 5ڂ2ڂ菜)
        Llength:̒BwȂ͍܂ŁB
                ) 3:3:L5   (3 3ڂ5 o)
        ()    P^Cv̏ꍇ̌ʒu͐̃C[Wz肷邱ƁB
      fieldspecw肪Ȃ/Ys,/Naw肪ȂΑStB[hElŏóB
      tB[hԍȂ̐wIvV͂̎wʒuɑΉ
      tB[hȍ~̑StB[hɓKpB
    ) xfmt /L5S"10:00:00" /L5E"11:59:59" /LIexcept /LXNullPo file1 r 5l
        xfmt /Q /S"," /Na /Ys file2 5:x4 6:-3:L2 1 3:t-a?:4 7:b"x y":a"x z"
        xfmt file3 nc:999:l1

ȉ͎słB

**********************************************************************
14:39:09 ===>> cat inp1
2005/01/22  10:19    <DIR>          .
    2005/01/22  10:19    <DIR>          ..
2007/05/18  17:23                80 @
  2000/07/08  18:08             1,302 @0
2001/09/08  08:38            22,440 @1
2001/09/08  08:38            22,440 @2
2000/07/08  09:47                80 @3
2000/07/23  06:51             8,661 @@
2000/07/08  19:36             1,410 @@0
2001/08/30  12:55               521 @@1

(*** fields alignment-1:: l:̎w荀܂ł͍, 3:ԍ, r:̎w荀(Ō)܂ŉE***)
14:39:44 ===>> xfmt inp1 l 3r
 2005/01/22  10:19   <DIR>  .  
 2005/01/22  10:19   <DIR>  .. 
 2007/05/18  17:23      80  @  
 2000/07/08  18:08   1,302  @0 
 2001/09/08  08:38  22,440  @1 
 2001/09/08  08:38  22,440  @2 
 2000/07/08  09:47      80  @3 
 2000/07/23  06:51   8,661  @@ 
 2000/07/08  19:36   1,410  @@0
 2001/08/30  12:55     521  @@1
xfmt:V1.1(W): *** Done *** inp1 --> stdout , null  *** 
    read:10, write:10, excluded:0, short-line:0

(*** fields alignment-2::***)
14:40:29 ===>> xfmt inp1 l 3r 4r
 2005/01/22  10:19   <DIR>    .
 2005/01/22  10:19   <DIR>   ..
 2007/05/18  17:23      80    @
 2000/07/08  18:08   1,302   @0
 2001/09/08  08:38  22,440   @1
 2001/09/08  08:38  22,440   @2
 2000/07/08  09:47      80   @3
 2000/07/23  06:51   8,661   @@
 2000/07/08  19:36   1,410  @@0
 2001/08/30  12:55     521  @@1
xfmt:V1.1(W): *** Done *** inp1 --> stdout , null  *** 
    read:10, write:10, excluded:0, short-line:0

**********************************************************************
14:58:04 ===>> cat inp2
2005/01/22  10:19    <DIR>          .
    2005/01/22  10:19    <DIR>          ..
2007/05/18  17:23                80 @
  2000/07/08  18:08             1.302 @0
2001/09/08  08:38            22.440 @1
2001/09/08  08:38            22.440 @2
2000/07/08  09:47                80 @3
2000/07/23  06:51             8.661 @@
2000/07/08  19:36             1.410 @@0
2001/08/30  12:55               521 @@1

(*** fields alignment-3:: p:_ňʒu(S) ***)
14:58:23 ===>> xfmt inp2 p
 2005/01/22  10:19    <DIR>    .
 2005/01/22  10:19    <DIR>   ..
 2007/05/18  17:23   80        @
 2000/07/08  18:08    1.302   @0
 2001/09/08  08:38   22.440   @1
 2001/09/08  08:38   22.440   @2
 2000/07/08  09:47   80       @3
 2000/07/23  06:51    8.661   @@
 2000/07/08  19:36    1.410  @@0
 2001/08/30  12:55  521      @@1
xfmt:V1.1(W): *** Done *** inp2 --> stdout , null  *** 
    read:10, write:10, excluded:0, short-line:0

**********************************************************************
15:04:27 ===>> cat inp3
2005/01/22  10:19    <DIR>          .
    2005/01/22  10:19    <DIR>          ..
2007/05/18  17:23       1  a     80 @
  2000/07/08  18:08   2    a    1.302 @0
2001/09/08 A08:38      2   a 22.440 @1
2001/09/08  08:38       4  a 22.440 @2
2000/07/08  09:47B       5 a     80 @3
2000/07/23  06:51      99  a  8.661 @@
2000/07/08  19:36   9      a  1.410 @@0
2001/08/30  12:55      999 a   521 @@1

(*** fields alignment-4:: n:l̂ݐ(lȊO͂̕܂Ƃ߂1) ***)
15:05:13 ===>> xfmt inp3  n
  2005/01/22  10:19    <DIR>          .
 2005/01/22  10:19    <DIR>          ..
                      2007/05/18  17:23    1  a      80    @
                      2000/07/08  18:08    2  a   1.302   @0
                      2001/09/08 A08:38    2  a  22.440   @1
                      2001/09/08  08:38    4  a  22.440   @2
                     2000/07/08  09:47B    5  a      80   @3
                      2000/07/23  06:51   99  a   8.661   @@
                      2000/07/08  19:36    9  a   1.410  @@0
                      2001/08/30  12:55  999  a     521  @@1
xfmt:V1.1(W): *** Done *** inp3 --> stdout , null  *** 
    read:10, write:10, excluded:0, short-line:0

(*** fields alignment-5:: c:AXy[X1Xy[XɈk***)
15:06:22 ===>> xfmt inp3  3c
  2005/01/22  10:19         <DIR> 
  2005/01/22  10:19        <DIR> .
  2007/05/18  17:23        1 a 80 
  2000/07/08  18:08    2 a 1.302 @
  2001/09/08 A08:38   2 a 22.440 @
  2001/09/08  08:38   4 a 22.440 @
  2000/07/08  09:47B      5 a 80 @
  2000/07/23  06:51   99 a 8.661 @
  2000/07/08  19:36   9 a 1.410 @@
  2001/08/30  12:55   999 a 521 @@
xfmt:V1.1(W): *** Done *** inp3 --> stdout , null  *** 
    read:10, write:10, excluded:0, short-line:0

(*** ̑I:: -Ys:w݂̍̂Io***)
16:08:28 ===>> xfmt inp3 /ys 2 3 5
  10:19  <DIR> 
  10:19  <DIR> 
  17:23      1      80 
  18:08      2   1.302 
 A08:38      2  22.440 
  08:38      4  22.440 
 09:47B      5      80 
  06:51     99   8.661 
  19:36      9   1.410 
  12:55    999     521 
xfmt:V1.1(W): *** Done *** inp3 --> stdout , null  *** 
    read:10, write:10, excluded:0, short-line:2

**********************************************************************
16:50:30 ===>> cat inp4
 NAME=angel  AGE:60  f  Addr-Stockholm
 NAME=sky    AGE:60  m  Addr-Tokyo
 NAME=erth   AGE:600  f  Addr-LosAngels
 NAME=moon   AGE:6000 m   Addr-another world

(*** 폜 :: 1l:1 , a: "NAME="܂ł΂̌(After)o ***)
(                  4l:a"Addr-" 4"After-" ܂łꍇ͂̌o ***)
16:50:35 ===>> xfmt inp4 r 1l:a"NAME=" 4l:a"Addr-"
 angel    AGE:60  f  Stockholm
 sky      AGE:60  m  Tokyo    
 erth    AGE:600  f  LosAngels
 moon   AGE:6000  m  another    world
xfmt:V1.1(W): *** Done *** inp4 --> stdout , null  *** 
    read:4, write:4, excluded:0, short-line:0

(*** 폜 :: 4l:a"-" :4 "-" ̌o ***)
23:13:10 ===>> xfmt  x2 4l:a"-"
  NAME=angel  AGE:60  f   Stockholm
  NAME=sky    AGE:60  m   Tokyo    
  NAME=erth   AGE:600  f  LosAngels
  NAME=moon   AGE:6000 m  another    world
xfmt:V1.1(W): *** Done *** x2 --> stdout , null  *** 
    read:4, write:4, excluded:0, short-line:0

(*** 폜 :: 4l:xa"-" :4"-"܂߂΂̌폜 ***)
23:13:29 ===>> xfmt  x2 4l:xa"-"
  NAME=angel  AGE:60  f   Addr-
  NAME=sky    AGE:60  m   Addr-
  NAME=erth   AGE:600  f  Addr-
  NAME=moon   AGE:6000 m  Addr-  world
xfmt:V1.1(W): *** Done *** x2 --> stdout , null  *** 
    read:4, write:4, excluded:0, short-line:0

(*** Xy[XȊO̕:: /d"=-" ԕ "="  "-"  " " ***)
17:01:24 ===>> xfmt inp4 /d"=-"
 NAME=   angel  AGE:60  f  Addr-     Stockholm
 NAME=   sky    AGE:60  m  Addr-         Tokyo
 NAME=  erth   AGE:600  f  Addr-     LosAngels
 NAME= moon   AGE:6000 m   Addr- another world
xfmt:V1.1(W): *** Done *** inp4 --> stdout , null  *** 
    read:4, write:4, excluded:0, short-line:0

(*** ̒u:: /SR":":  "="  "-"  ":" ɒuďo***)
17:01:38 ===>> xfmt inp4 /d"=-" /SR":"
 NAME:  angel  AGE:60  f  Addr:    Stockholm
 NAME:  sky    AGE:60  m  Addr:        Tokyo
 NAME: erth   AGE:600  f  Addr:    LosAngels
 NAME:moon   AGE:6000 m   Addr:another world
xfmt:V1.1(W): *** Done *** inp4 --> stdout , null  *** 
    read:4, write:4, excluded:0, short-line:0

(*** ̒u:: /SR":":  "="  "-"  " " ɒuďo***)
17:02:10 ===>> xfmt inp4 /d"=-" /SR" "
 NAME   angel  AGE:60  f  Addr     Stockholm
 NAME   sky    AGE:60  m  Addr         Tokyo
 NAME  erth   AGE:600  f  Addr     LosAngels
 NAME moon   AGE:6000 m   Addr another world
xfmt:V1.1(W): *** Done *** inp4 --> stdout , null  *** 
    read:4, write:4, excluded:0, short-line:0

(*** sI:: /lsangel: "angel"܂ލs璊oJn ***)
(             /leLos  : "Los"  ܂ލsŒoI ***)
17:04:36 ===>> xfmt inp4 /lsangel /leLos
 NAME=angel   AGE:60  f  Addr-Stockholm
   NAME=sky   AGE:60  m      Addr-Tokyo
  NAME=erth  AGE:600  f  Addr-LosAngels
xfmt:V1.1(W): *** Done *** inp4 --> stdout , null  *** 
    read:4, write:3, excluded:1, short-line:0

(*** sI:: /lxsky  : "sky" ܂ލs͏o͂Ȃ***)
17:05:43 ===>> xfmt inp4 /lsangel /leLos /lxsky
 NAME=angel   AGE:60  f  Addr-Stockholm
  NAME=erth  AGE:600  f  Addr-LosAngels
xfmt:V1.1(W): *** Done *** inp4 --> stdout , null  *** 
    read:4, write:2, excluded:2, short-line:0

(*** sI:: /lxm  : "m" ܂ލs͏o͂Ȃ***)
17:09:31 ===>> xfmt inp4 /lxm
 NAME=erth  AGE:600  f  Addr-LosAngels
xfmt:V1.1(W): *** Done *** inp4 --> stdout , null  *** 
    read:4, write:1, excluded:3, short-line:0

**********************************************************************
16:57:24 ===>> cat inp5
 'NAME angel'  AGE:60  f   Addr Stockholm                 1
 'NAME sky'  AGE:60  m   Addr Tokyo                     2
 'NAME   erth'  AGE:600  f   Addr "Los Angels"             3
 'NAME moon'  AGE:6000 m   Addr "another world"          4

(*** p̎w  :: ȗlł͈p͍lȂ ***)
16:57:28 ===>> xfmt inp5 l
 'NAME  angel'  AGE:60    f  Addr  Stockholm  1      
 'NAME  sky'    AGE:60    m  Addr  Tokyo      2      
 'NAME  erth'   AGE:600   f  Addr  "Los       Angels"  3
 'NAME  moon'   AGE:6000  m  Addr  "another   world"   4
xfmt:V1.1(W): *** Done *** inp5 --> stdout , null  *** 
    read:4, write:4, excluded:0, short-line:0

(*** p̎w  :: /q: /q ݂̂ł1dE2dpƂl ***)
16:57:37 ===>> xfmt inp5 l /q
 'NAME angel'   AGE:60    f  Addr  Stockholm        1
 'NAME sky'     AGE:60    m  Addr  Tokyo            2
 'NAME   erth'  AGE:600   f  Addr  "Los Angels"     3
 'NAME moon'    AGE:6000  m  Addr  "another world"  4
xfmt:V1.1(W): *** Done *** inp5 --> stdout , null  *** 
    read:4, write:4, excluded:0, short-line:0
