(command.CommandList
  children: [
    (command.Case
      to_match: {($ Id.VSub_Pound '$#')}
      arms: [
        (case_arm
          pat_list: [{<0>}]
          action: [
            (command.Sentence
              child: (C {<echo>} {(DQ <'usage: lorder file ...'>)})
              terminator: <Id.Op_Semi _>
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
          ]
          spids: [110 111 124 -1]
        )
        (case_arm
          pat_list: [{<1>}]
          action: [
            (command.Sentence
              child: (C {<echo>} {($ Id.VSub_Number '$1')} {($ Id.VSub_Number '$1')})
              terminator: <Id.Op_Semi _>
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
          ]
          spids: [127 128 141 -1]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:R)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<mktemp>} {<-t>} {<_reference_>})
              )
            }
          spids: [149]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:S)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<mktemp>} {<-t>} {<_symbol_>})
              )
            }
          spids: [158]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:NM)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name NM>
                suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<nm>})
              )
            }
          spids: [167]
        )
      ]
    )
    (C {<trap>} 
      {
        (DQ <'rm -f '> ($ Id.VSub_DollarName '$R') <' '> ($ Id.VSub_DollarName '$S') <' '> 
          ($ Id.VSub_DollarName '$T') <'; exit 1'>
        )
      } {<1>} {<2>} {<3>} {<13>} {<15>}
    )
    (command.ForEach
      iter_name: i
      iter_words: [{($ Id.VSub_Star '$*')}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [(C {<echo>} {($ Id.VSub_DollarName '$i')} {($ Id.VSub_DollarName '$i')})]
        )
    )
    (command.Pipeline
      children: [
        (C {(${ Id.VSub_Name NM)} {(${ Id.VSub_Name NMFLAGS)} {<-go>} {($ Id.VSub_Star '$*')})
        (C {<sed>} 
          {
            (DQ <'\n'> <'\t/ [TDW] / {\n'> <'\t\ts/:.* [TDW] / /\n'> <'\t\tw '> 
              ($ Id.VSub_DollarName '$S') <'\n'> <'\t\td\n'> <'\t}\n'> <'\t/ U / {\n'> <'\t\ts/:.* U / /\n'> <'\t\tw '> ($ Id.VSub_DollarName '$R') 
              <'\n'> <'\t}\n'> <'\td\n'>
            )
          }
        )
      ]
      negated: F
    )
    (C {<export>} {<Id.Lit_VarLike 'LC_ALL='> <C>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} 
                      {
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<expr>} {(DQ ($ Id.VSub_Star '$*'))} {<Id.Lit_Colon ':'>} 
                              {(SQ <'.*\\.a[[:>:]]'>)}
                            )
                        )
                      } {<-ne>} {<0>} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<sort>} {<-u>} {<-o>} {($ Id.VSub_DollarName '$S')} {($ Id.VSub_DollarName '$S')})
            (C {<sort>} {<-u>} {<-o>} {($ Id.VSub_DollarName '$R')} {($ Id.VSub_DollarName '$R')})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:T)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<mktemp>} {<-t>} {<_temp_>})
                      )
                    }
                  spids: [333]
                )
              ]
            )
            (command.Simple
              words: [{<comm>} {<-23>} {($ Id.VSub_DollarName '$R')} {($ Id.VSub_DollarName '$S')}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$T')}
                )
              ]
              do_fork: T
            )
            (C {<mv>} {($ Id.VSub_DollarName '$T')} {($ Id.VSub_DollarName '$R')})
          ]
          spids: [283 308]
        )
      ]
    )
    (C {<sort>} {<-k>} {<2>} {<-o>} {($ Id.VSub_DollarName '$R')} {($ Id.VSub_DollarName '$R')})
    (C {<sort>} {<-k>} {<2>} {<-o>} {($ Id.VSub_DollarName '$S')} {($ Id.VSub_DollarName '$S')})
    (C {<join>} {<-j>} {<2>} {<-o>} {<1.1>} {<2.1>} {($ Id.VSub_DollarName '$R')} 
      {($ Id.VSub_DollarName '$S')}
    )
    (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$R')} {($ Id.VSub_DollarName '$S')})
  ]
)