(command.CommandList children: [ (command.Subshell command_list: (command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:c) op: assign_op.Equal rhs: {(////////////////////////////////////////////////////////////////)} spids: [7] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:skel) op: assign_op.Equal rhs: {(api-index-skel.txt)} spids: [11] ) ] ) (C {(sed)} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'/^\\/\\/ table of contents begin/q' span_id:20))} {(DQ ($ Id.VSub_DollarName '$skel'))} ) (C {(echo)} {(DQ ($ Id.VSub_DollarName '$c'))}) (command.Pipeline children: [ (C {(ls)} {(api-) (Id.Lit_Star '*') (.txt)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:45) cond: [(C {(read)} {(filename)})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$filename'))} arms: [ (case_arm pat_list: [{(api-index-skel.txt)} {(api-index.txt)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Continue val:continue span_id:71) ) ] spids: [64 69 73 -1] ) ] ) (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:80) command_list: (command.CommandList children: [ (C {(sed)} {(-e)} {(1q)} {(DQ ($ Id.VSub_DollarName '$filename'))} ) ] ) ) } spids: [79] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:html) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:filename span_id:95) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Percent arg_word: {(.txt)} ) ) (.html) } spids: [93] ) ] ) (C {(echo)} { (DQ ('* link:') ($ Id.VSub_DollarName '$html') ('[') ($ Id.VSub_DollarName '$title') (']') ) } ) ] ) ) ] negated: F ) (C {(echo)} {(DQ ($ Id.VSub_DollarName '$c'))}) (C {(sed)} {(-n)} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'/^\\/\\/ table of contents end/,$p' span_id:130))} {(DQ ($ Id.VSub_DollarName '$skel'))} ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:139) fd: -1 arg_word: {(api-index.txt) (Id.Lit_Other '+')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(test)} {(-f)} {(api-index.txt)}) (command.Simple words: [{(cmp)} {(api-index.txt)} {(api-index.txt) (Id.Lit_Other '+')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:161) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) ] action: [(C {(rm)} {(-f)} {(api-index.txt) (Id.Lit_Other '+')})] spids: [144 164] ) ] else_action: [(C {(mv)} {(api-index.txt) (Id.Lit_Other '+')} {(api-index.txt)})] ) ] )