(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:BZIP) op:Equal rhs:{(/usr/local/bin/bzip2)} spids:[3])] spids: [3] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:RM) op:Equal rhs:{(DQ ('rm -f'))} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MV) op:Equal rhs:{(DQ ('mv -f'))} spids:[11])] spids: [11] ) (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-ne)} {(2)} {(Lit_Other ']')})] action: [ (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' <log> <keep>'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 29] ) ] spids: [16777215 44] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) ] action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})] spids: [16777215 61] ) ] spids: [16777215 67] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-x)} {(DQ ($ VSub_Name '$BZIP'))} {(Lit_Other ']')}) ] action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})] spids: [16777215 84] ) ] spids: [16777215 90] ) (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {(DQ ($ VSub_Number '$2'))} {(-le)} {(0)} {(Lit_Other ']')})] action: [ (C {(echo)} {(DQ ('Keep at least 1 copy please.'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 107] ) ] spids: [16777215 120] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:k) op:Equal rhs:{(DQ ($ VSub_Number '$2'))} spids:[123])] spids: [123] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{($ VSub_Name '$RM')} {(DQ ($ VSub_Number '$1') (.) ($ VSub_Name '$k'))}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[136])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (While cond: [(C {(Lit_Other '[')} {(DQ ($ VSub_Name '$k'))} {(-ge)} {(2)} {(Lit_Other ']')})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prev) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name '$k')} {(-)} {(1)})] ) left_token: <Left_Backtick '`'> spids: [163 171] ) ) } spids: [161] ) ] spids: [161] ) (SimpleCommand words: [ {($ VSub_Name '$MV')} {($ VSub_Number '$1') (.) ($ VSub_Name '$prev') (.bz2)} {($ VSub_Number '$1') (.) ($ VSub_Name '$k') (.bz2)} ] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[187])] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:k) op: Equal rhs: {($ VSub_Name '$prev')} spids: [192] ) ] spids: [192] ) ] spids: [159 195] ) ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{($ VSub_Name '$BZIP')} {(-c)} {($ VSub_Number '$1')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Number '$1') (.1.bz2)} spids: [203] ) ] ) (SimpleCommand words: [{(Lit_Other ':')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Number '$1')} spids: [211] ) ] ) ] ) ] )