(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:-1 arg_word:{(2)} spids:[85])] ) (SimpleCommand words: [{(echo)}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[91])] ) (SimpleCommand words: [{(echo)} {(DQ (" -nr do not recurse"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[101])] ) (SimpleCommand words: [{(echo)} {(DQ (" -na ignore files starting with ."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 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:-1 arg_word:{(2)} spids:[123])] ) (SimpleCommand words: [{(echo)} {(DQ (" -r reverse to show oldest files"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 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 -1] ) (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 -1] ) (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 -1] ) (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 -1] ) (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 -1] ) (case_arm pat_list: [{(--help)}] action: [(C {(usage)})] spids: [237 238 242 -1] ) (case_arm pat_list: [{(--version)}] action: [(AndOr children:[(C {(echo)} {(DQ (1.1))})(C {(exit)})] op_id:Op_DAmp)] spids: [245 246 258 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [261 262 266 -1] ) ] 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: [-1 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 (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (" -type d -a ") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (" -name '.git' -o -name '.svn' -o -name 'CVS' ") (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) (" -prune -o") ) } spids: [359] ) ] spids: [359] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:print_format) op: Equal rhs: { (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (" -type f -printf '%T@") (EscapedLiteralPart token:<Lit_EscapedChar "\\t">) ($ VSub_Name "$path_format") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("' ") (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ) } 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: [-1 437] ) ] else_action: [(C {(cat)})] spids: [467 472] ) ] negated: False ) ] )