(command.CommandList children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:6) fd: -1 here_begin: {(word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\E' span_id:7)) (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: (Token id:Id.Left_DollarParen val:'$(' span_id:26) command_list: (command.CommandList children: [ (C {(expr)} {(DQ ($ Id.VSub_DollarName '$txt'))} {(Id.Lit_Other ':')} {(SQ (Token id:Id.Lit_Chars val:'.*/\\(.*\\)\\.txt$' span_id:36))} ) ] ) ) } spids: [25] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:from) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:42) command_list: (command.CommandList children: [ (C {(sed)} {(-ne)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:48) (Token id: Id.Lit_Chars val: '\t/^$/q\n' span_id: 49 ) (Token id:Id.Lit_Chars val:'\t/^From:[ \t]/{\n' span_id:50) (Token id: Id.Lit_Chars val: '\t\ts///\n' span_id: 51 ) (Token id:Id.Lit_Chars val:'\t\ts/^[ \t]*//\n' span_id:52) (Token id: Id.Lit_Chars val: '\t\ts/[ \t]*$//\n' span_id: 53 ) (Token id:Id.Lit_Chars val:'\t\ts/^/by /\n' span_id:54) (Token id: Id.Lit_Chars val: '\t\tp\n' span_id: 55 ) (Token id:Id.Lit_Chars val:'\t}\n' span_id:56) (Token id:Id.Lit_Chars val:'\t' span_id:57) ) } {(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: (Token id:Id.Left_DollarParen val:'$(' span_id:68) command_list: (command.CommandList children: [ (C {(sed)} {(-ne)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:74) (Token id: Id.Lit_Chars val: '\t/^Abstract:[ \t]/{\n' span_id: 75 ) (Token id:Id.Lit_Chars val:'\t\ts/^[^ \t]*//\n' span_id:76) (Token id: Id.Lit_Chars val: '\t\tx\n' span_id: 77 ) (Token id:Id.Lit_Chars val:'\t\ts/.*//\n' span_id:78) (Token id:Id.Lit_Chars val:'\t\tx\n' span_id:79) (Token id: Id.Lit_Chars val: '\t\t: again\n' span_id: 80 ) (Token id:Id.Lit_Chars val:'\t\t/^[ \t]/{\n' span_id:81) (Token id: Id.Lit_Chars val: '\t\t\ts/^[ \t]*//\n' span_id: 82 ) (Token id:Id.Lit_Chars val:'\t\t\tH\n' span_id:83) (Token id:Id.Lit_Chars val:'\t\t\tn\n' span_id:84) (Token id: Id.Lit_Chars val: '\t\t\tb again\n' span_id: 85 ) (Token id:Id.Lit_Chars val:'\t\t}\n' span_id:86) (Token id:Id.Lit_Chars val:'\t\tx\n' span_id:87) (Token id: Id.Lit_Chars val: '\t\tp\n' span_id: 88 ) (Token id:Id.Lit_Chars val:'\t\tq\n' span_id:89) (Token id:Id.Lit_Chars val:'\t}' span_id:90) ) } {(DQ ($ Id.VSub_DollarName '$txt'))} ) ] ) ) } spids: [67] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Simple words: [ {(grep)} {(SQ (Token id:Id.Lit_Chars val:'Content-type: text/asciidoc' span_id:105))} {($ Id.VSub_DollarName '$txt')} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:108) 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: (Token id:Id.Left_DollarParen val:'$(' span_id:118) command_list: (command.CommandList children: [ (C {(expr)} {(DQ ($ Id.VSub_DollarName '$txt'))} {(Id.Lit_Other ':')} {(SQ (Token id:Id.Lit_Chars val:'\\(.*\\)\\.txt$' span_id:128))} ) ] ) ) (.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') ) } ) ] ) ) ] )