(command.CommandList children: [ (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:Z) op: assign_op.Equal rhs: {(DQ (compress))} spids: [15] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:19) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:unZ) op: assign_op.Equal rhs: {(DQ (uncompress))} spids: [21] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:26) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:Zlist) op: assign_op.Equal rhs: {(DQ )} spids: [28] ) ] ) ] ) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gz) op: assign_op.Equal rhs: {(DQ (gzip))} spids: [32] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:37) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ungz) op: assign_op.Equal rhs: {(DQ (gunzip))} spids: [39] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:44) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gzlist) op: assign_op.Equal rhs: {(DQ )} spids: [46] ) ] ) ] ) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bz) op: assign_op.Equal rhs: {(DQ (bzip2))} spids: [50] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:55) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:unbz) op: assign_op.Equal rhs: {(DQ (bunzip2))} spids: [57] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:62) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bzlist) op: assign_op.Equal rhs: {(DQ )} spids: [64] ) ] ) ] ) (command.ForEach iter_name: arg do_arg_iter: T body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-f)} {(DQ ($ Id.VSub_DollarName '$arg'))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:105) ) ] action: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$arg'))} arms: [ (case_arm pat_list: [{(Id.Lit_Star '*') (.Z)}] action: [ (C {($ Id.VSub_DollarName '$unZ')} {(DQ ($ Id.VSub_DollarName '$arg'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 132 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ Id.VSub_DollarName '$arg')}) (C {(sed)} { (SQ (Token id: Id.Lit_Chars val: 's/\\.Z$//' span_id: 142 ) ) } ) ] negated: F ) ] ) ) ) } spids: [130] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:Zlist) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$Zlist') (' ') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:152) ) ($ Id.VSub_DollarName '$arg') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:154) ) ) } spids: [148] ) ] ) ] spids: [119 121 158 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*') (.gz)}] action: [ (C {($ Id.VSub_DollarName '$ungz')} {(DQ ($ Id.VSub_DollarName '$arg'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 175 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ Id.VSub_DollarName '$arg')}) (C {(sed)} { (SQ (Token id: Id.Lit_Chars val: 's/\\.gz$//' span_id: 185 ) ) } ) ] negated: F ) ] ) ) ) } spids: [173] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gzlist) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$gzlist') (' ') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:195) ) ($ Id.VSub_DollarName '$arg') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:197) ) ) } spids: [191] ) ] ) ] spids: [162 164 201 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*') (.bz2)}] action: [ (C {($ Id.VSub_DollarName '$unbz')} {(DQ ($ Id.VSub_DollarName '$arg'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arg) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 218 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ Id.VSub_DollarName '$arg')}) (C {(sed)} { (SQ (Token id: Id.Lit_Chars val: 's/\\.bz2$//' span_id: 228 ) ) } ) ] negated: F ) ] ) ) ) } spids: [216] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bzlist) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$bzlist') (' ') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:238) ) ($ Id.VSub_DollarName '$arg') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:240) ) ) } spids: [234] ) ] ) ] spids: [205 207 244 -1] ) ] ) ] spids: [93 107] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:newargs) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:newargs span_id:257) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(DQ )}) ) (' ') (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\"' span_id:263)) ($ Id.VSub_DollarName '$arg') (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\"' span_id:265)) ) } spids: [254] ) ] ) ] ) ) (command.Case to_match: {($ Id.VSub_Number '$0')} arms: [ (case_arm pat_list: [{(Id.Lit_Star '*') (zcat) (Id.Lit_Star '*')}] action: [(C {(eval)} {(cat)} {($ Id.VSub_DollarName '$newargs')})] spids: [278 282 290 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*') (zmore) (Id.Lit_Star '*')}] action: [(C {(eval)} {(more)} {($ Id.VSub_DollarName '$newargs')})] spids: [293 297 305 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*') (zgrep) (Id.Lit_Star '*')}] action: [(C {(eval)} {(grep)} {($ Id.VSub_DollarName '$newargs')})] spids: [308 312 320 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (command.Sentence child: (command.Simple words: [ {(echo)} {(DQ ($ Id.VSub_Number '$0') (": unknown base name. Can't proceed."))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:334) fd: -1 arg_word: {(2)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:336) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:338) arg_word: {(1)} ) ] spids: [323 325 -1 342] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(Id.KW_Bang '!')} {(-z)} {(DQ ($ Id.VSub_DollarName '$Zlist'))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:363) ) ] action: [(C {(eval)} {($ Id.VSub_DollarName '$Z')} {($ Id.VSub_DollarName '$Zlist')})] spids: [349 365] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(Id.KW_Bang '!')} {(-z)} {(DQ ($ Id.VSub_DollarName '$gzlist')) (Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:389) ) ] action: [(C {(eval)} {($ Id.VSub_DollarName '$gz')} {($ Id.VSub_DollarName '$gzlist')})] spids: [376 391] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(Id.KW_Bang '!')} {(-z)} {(DQ ($ Id.VSub_DollarName '$bzlist'))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:416) ) ] action: [(C {(eval)} {($ Id.VSub_DollarName '$bz')} {($ Id.VSub_DollarName '$bzlist')})] spids: [402 418] ) ] ) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:435) arg_word:{(0)}) ] )