(List (Subshell (List (= scope= flags=0 words=[] bindings=[('c', {[LIT_CHARS ////////////////////////////////////////////////////////////////]})]) (= scope= flags=0 words=[] bindings=[('skel', {[LIT_CHARS api-index-skel.txt]})]) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[DQ [VarSub skel]]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub c]]}) (Pipeline (Com {[LIT_CHARS ls]} {[LIT_CHARS api-] [LIT_OTHER "*"] [LIT_CHARS .txt]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS filename]}) (List (Case to_match={[DQ [VarSub filename]]}, pat_word_list=[[{[LIT_CHARS api-index-skel.txt]}, {[LIT_CHARS api-index.txt]}]] (Com {[LIT_CHARS continue]}) ) (= scope= flags=0 words=[] bindings=[('title', {[ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[LIT_CHARS 1q]} {[DQ [VarSub filename]]})]})]) (= scope= flags=0 words=[] bindings=[('html', {[VarSub filename transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS .txt]}]] [LIT_CHARS .html]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "* link:"][VarSub html][LIT_CHARS "["][VarSub title][LIT_CHARS "]"]]}) ) ) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub c]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} {[DQ [VarSub skel]]}) ) ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[LIT_CHARS api-index.txt]}) (Com {[LIT_CHARS cmp]} {[LIT_CHARS api-index.txt]} {[LIT_CHARS api-index.txt] [LIT_OTHER "+"]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS api-index.txt] [LIT_OTHER "+"]}) (ElseTrue) (Com {[LIT_CHARS mv]} {[LIT_CHARS api-index.txt] [LIT_OTHER "+"]} {[LIT_CHARS api-index.txt]}) ) )