(CommandList children: [ (C {(Lit_Other ':')}) (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:re) op:Equal rhs:{($ VSub_Number '$1')} spids:[2])] spids: [2] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (ForEach iter_name: lib iter_words: [{($ VSub_Star '$*')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:found) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(nm)} {($ VSub_Name '$lib')}) (C {(egrep)} {(DQ ($ VSub_Name '$re'))}) ] negated: False ) ] ) left_token: <Left_Backtick '`'> spids: [21 33] ) } spids: [20] ) ] spids: [20] ) (Case to_match: {(DQ ($ VSub_Name '$found'))} arms: [ (case_arm pat_list:[{(DQ )}] spids:[-14749-1]) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(echo)} {(DQ ($ VSub_Name '$lib') (': ') ($ VSub_Name '$found'))})] spids: [52 53 62 -1] ) ] spids: [36 42 65] ) ] spids: [17 67] ) spids: [14 -1] ) ] )