(command.CommandList
  children: [
    (command.Sentence
      child: 
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:ID)
              op: assign_op.Equal
              rhs: {(DQ ('@(#)tst.sh:3.4 -- 5/15/91 19:30:24'))}
              spids: [45]
            )
          ]
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:49)
    )
    (command.Simple
      words: [{(sort)}]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'>' span_id:53)
          fd: -1
          arg_word: {(sort.) ($ Id.VSub_Dollar '$$')}
        )
        (redir.Redir
          op: (Token id:Id.Redir_Less val:'<' span_id:57)
          fd: -1
          arg_word: {(sort.src)}
        )
      ]
    )
    (command.Pipeline
      children: [
        (C {(grep)} {(the)} {(sort.) ($ Id.VSub_Dollar '$$')})
        (C {(tee)} {(grep.) ($ Id.VSub_Dollar '$$')})
        (command.Simple
          words: [{(wc)}]
          redirects: [
            (redir.Redir
              op: (Token id:Id.Redir_Great val:'>' span_id:78)
              fd: -1
              arg_word: {(wc.) ($ Id.VSub_Dollar '$$')}
            )
          ]
        )
      ]
      negated: F
    )
    (C {(rm)} {(sort.) ($ Id.VSub_Dollar '$$')} {(grep.) ($ Id.VSub_Dollar '$$')} 
      {(wc.) ($ Id.VSub_Dollar '$$')}
    )
  ]
)