(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:num) op:Equal rhs:{(DQ (20))} spids:[60])] spids: [60] ) (FuncDef name: usage body: (BraceGroup children: [ (SimpleCommand words: [ {(echo)} { (DQ ('Usage: ') (CommandSubPart command_list: (CommandList children:[(C {(basename)} {($ VSub_Number '$0')})]) left_token: <Left_Backtick '`'> spids: [77 81] ) (' [-nr] [-na] [-n#] [-s] [-r] [path...]') ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[85])] ) (SimpleCommand words: [{(echo)}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[91])] ) (SimpleCommand words: [{(echo)} {(DQ (' -nr do not recurse'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[101])] ) (SimpleCommand words: [{(echo)} {(DQ (' -na ignore files starting with .'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[111])] ) (SimpleCommand words: [ {(echo)} {(DQ (' -n# list the newest # files (') ($ VSub_Name '$num') (' by default)'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[123])] ) (SimpleCommand words: [{(echo)} {(DQ (' -r reverse to show oldest files'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[133])] ) (C {(exit)} {(1)}) ] spids: [70] ) spids: [66 69] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:num) op: Equal rhs: {(DQ (-n) ($ VSub_Name '$num'))} spids: [144] ) ] spids: [144] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:dotfiles) op:Equal rhs:{(DQ (yes))} spids:[150])] spids: [150] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:recurse) op:Equal rhs:{(DQ (yes))} spids:[155])] spids: [155] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:reverse) op:Equal rhs:{(DQ )} spids:[160])] spids: [160] ) (While cond: [(C {(Lit_Other ':')})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(--)}] action: [ (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (ControlFlow token:<ControlFlow_Break break>) ] spids: [180 181 188 16777215] ) (case_arm pat_list: [{(-na)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dotfiles) op: Equal rhs: {(DQ (no))} spids: [194] ) ] spids: [194] ) ] spids: [191 192 199 16777215] ) (case_arm pat_list: [{(-nr)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:recurse) op: Equal rhs: {(DQ (no))} spids: [205] ) ] spids: [205] ) ] spids: [202 203 210 16777215] ) (case_arm pat_list: [{(-n) (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:num) op: Equal rhs: {($ VSub_Number '$1')} spids: [220] ) ] spids: [220] ) ] spids: [213 218 223 16777215] ) (case_arm pat_list: [{(-r)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:reverse) op: Equal rhs: {(DQ (r))} spids: [229] ) ] spids: [229] ) ] spids: [226 227 234 16777215] ) (case_arm pat_list: [{(--help)}] action: [(C {(usage)})] spids: [237 238 242 16777215] ) (case_arm pat_list: [{(--version)}] action: [(AndOr children:[(C {(echo)} {(DQ (1.1))})(C {(exit)})] op_id:Op_DAmp)] spids: [245 246 258 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [261 262 266 16777215] ) ] spids: [171 177 269] ) (C {(shift)}) ] spids: [168 274] ) ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$dotfiles'))} {(Lit_Other '=')} {(DQ (no))} {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ignore_hidden) op: Equal rhs: {(DQ ("-name '.*' -o"))} spids: [292] ) ] spids: [292] ) ] op_id: Op_DAmp ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$recurse'))} {(Lit_Other '=')} {(DQ (no))} {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dont_recurse) op: Equal rhs: {(DQ ('-maxdepth 1'))} spids: [313] ) ] spids: [313] ) ] op_id: Op_DAmp ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:path_format) op: Equal rhs: {(DQ ('%p'))} spids: [334] ) ] spids: [334] ) ] spids: [16777215 331] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:path_format) op:Equal rhs:{(DQ ('%P'))} spids:[342])] spids: [342] ) (C {(set)} {(--)} {(DQ (./))}) ] spids: [339 356] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ignore_metadata) op: Equal rhs: { (DQ (Lit_Other '\\') ('( -type d -a ') (Lit_Other '\\') ("( -name '.git' -o -name '.svn' -o -name 'CVS' ") (Lit_Other '\\') (') ') (Lit_Other '\\') (') -prune -o') ) } spids: [359] ) ] spids: [359] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:print_format) op: Equal rhs: { (DQ (Lit_Other '\\') ("( -type f -printf '%T@") (Lit_Other '\\') (t) ($ VSub_Name '$path_format') (Lit_Other '\\') ("n' ") (Lit_Other '\\') (')') ) } spids: [371] ) ] spids: [371] ) (Pipeline children: [ (C {(eval)} {(find)} {(SQ <'"$@"'>)} {($ VSub_Name '$dont_recurse')} {($ VSub_Name '$ignore_metadata')} {($ VSub_Name '$ignore_hidden')} {($ VSub_Name '$print_format')} ) (C {(sort)} {(-k1) (Lit_Comma ',') (1) (${ VSub_Name reverse) (n)}) (C {(tail)} {($ VSub_Name '$num')}) (C {(cut)} {(-f2-)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-p)} {(/proc/self/fd/1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(tr)} {(SQ <'\\n'>)} {(SQ <'\\0'>)}) (C {(xargs)} {(-r0)} {(ls)} {(-lUd)} {(--color) (Lit_Other '=') (auto)} {(--)}) ] negated: False ) ] spids: [16777215 439] ) ] else_action: [(C {(cat)})] spids: [469 474] ) ] negated: False ) ] )