(command.CommandList
  children: [
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>}
          here_end_span_id: 16
          stdin_parts: [
            <'Git Howto Index\n'>
            <'===============\n'>
            <'\n'>
            <'Here is a collection of mailing list postings made by various\n'>
            <'people describing how they use Git in their workflow.\n'>
            <'\n'>
          ]
        )
      ]
    )
    (command.ForEach
      iter_name: txt
      do_arg_iter: T
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:title)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {<expr>} {(DQ ($ Id.VSub_DollarName '$txt'))} {<Id.Lit_Other ':'>} 
                                {(SQ <'.*/\\(.*\\)\\.txt$'>)}
                              )
                            ]
                          )
                      )
                    }
                  spids: [25]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:from)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {<sed>} {<-ne>} 
                                {
                                  (SQ <'\n'> <'\t/^$/q\n'> <'\t/^From:[ \t]/{\n'> <'\t\ts///\n'> 
                                    <'\t\ts/^[ \t]*//\n'> <'\t\ts/[ \t]*$//\n'> <'\t\ts/^/by /\n'> <'\t\tp\n'> <'\t}\n'> <'\t'>
                                  )
                                } {(DQ ($ Id.VSub_DollarName '$txt'))}
                              )
                            ]
                          )
                      )
                    }
                  spids: [41]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:abstract)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {<sed>} {<-ne>} 
                                {
                                  (SQ <'\n'> <'\t/^Abstract:[ \t]/{\n'> <'\t\ts/^[^ \t]*//\n'> 
                                    <'\t\tx\n'> <'\t\ts/.*//\n'> <'\t\tx\n'> <'\t\t: again\n'> <'\t\t/^[ \t]/{\n'> <'\t\t\ts/^[ \t]*//\n'> <'\t\t\tH\n'> 
                                    <'\t\t\tn\n'> <'\t\t\tb again\n'> <'\t\t}\n'> <'\t\tx\n'> <'\t\tp\n'> <'\t\tq\n'> <'\t}'>
                                  )
                                } {(DQ ($ Id.VSub_DollarName '$txt'))}
                              )
                            ]
                          )
                      )
                    }
                  spids: [67]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Simple
                      words: [
                        {<grep>}
                        {(SQ <'Content-type: text/asciidoc'>)}
                        {($ Id.VSub_DollarName '$txt')}
                      ]
                      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</dev/null>})]
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:file)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (C {<expr>} {(DQ ($ Id.VSub_DollarName '$txt'))} 
                                        {<Id.Lit_Other ':'>} {(SQ <'\\(.*\\)\\.txt$'>)}
                                      )
                                    ]
                                  )
                              ) <.html>
                            }
                          spids: [117]
                        )
                      ]
                    )
                  ]
                  spids: [100 114]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:file)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_DollarName '$txt'))}
                      spids: [137]
                    )
                  ]
                )
              ]
            )
            (C {<echo>} 
              {
                (DQ <'* link:'> ($ Id.VSub_DollarName '$file') <'['> ($ Id.VSub_DollarName '$title') 
                  <'] '> ($ Id.VSub_DollarName '$from') <'\n'> ($ Id.VSub_DollarName '$abstract') <'\n'> <'\n'>
                )
              }
            )
          ]
        )
    )
  ]
)