(CommandList children: [ (C {(set)} {(-e)}) (C {(export)} {(Lit_VarLike 'LC_ALL=') (C)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(3)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(echo)} {(DQ ('usage: ') ($ VSub_Number '$0') (' OLD-FILE NEW-FILE FILES-TO-BE-PATCHED...'))} ] redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [16777215 78] ) ] spids: [16777215 97] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:old_file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [100] ) ] spids: [100] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [107] ) ] spids: [107] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp_old_sorted) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(mktemp)})]) left_token: <Left_CommandSub '$('> spids: [117 119] ) ) } spids: [115] ) ] spids: [115] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp_new_sorted) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(mktemp)})]) left_token: <Left_CommandSub '$('> spids: [124 126] ) ) } spids: [122] ) ] spids: [122] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp_new_symbols) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(mktemp)})]) left_token: <Left_CommandSub '$('> spids: [131 133] ) ) } spids: [129] ) ] spids: [129] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp_patched) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(mktemp)})]) left_token: <Left_CommandSub '$('> spids: [138 140] ) ) } spids: [136] ) ] spids: [136] ) (FuncDef name: cleanup body: (BraceGroup children: [ (C {(rm)} {(-f)} {(--)} {(DQ ($ VSub_Name '$tmp_old_sorted'))} {(DQ ($ VSub_Name '$tmp_new_sorted'))} {(DQ ($ VSub_Name '$tmp_new_symbols'))} {(DQ ($ VSub_Name '$tmp_patched'))} ) ] spids: [149] ) spids: [144 148] ) (C {(trap)} {(cleanup)} {(0)}) (C {(sort)} {(-u)} {(-o)} {(DQ ($ VSub_Name '$tmp_old_sorted'))} {(--)} {(DQ ($ VSub_Name '$old_file'))}) (C {(sort)} {(-u)} {(-o)} {(DQ ($ VSub_Name '$tmp_new_sorted'))} {(--)} {(DQ ($ VSub_Name '$new_file'))}) (SimpleCommand words: [ {(comm)} {(-1)} {(-3)} {(DQ ($ VSub_Name '$tmp_old_sorted'))} {(DQ ($ VSub_Name '$tmp_new_sorted'))} ] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$tmp_new_symbols'))} ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_symbol_count) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(wc)} {(-l)}] redirects: [ (Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$tmp_new_symbols'))} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [248 258] ) ) } spids: [246] ) ] spids: [246] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_symbol_count'))} {(-eq)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ('info: no symbols added'))}] redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 276] ) ] spids: [16777215 293] ) (SimpleCommand words: [{(echo)} {(DQ ('info: ') ($ VSub_Name '$new_symbol_count') (' symbol(s) added'))}] redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (ForEach iter_name: to_be_patched iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (DoGroup children: [ (C {(sort)} {(-u)} {(-o)} {(DQ ($ VSub_Name '$tmp_patched'))} {(--)} {(DQ ($ VSub_Name '$to_be_patched'))} {(DQ ($ VSub_Name '$tmp_new_symbols'))} ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(cmp)} {(-s)} {(--)} {(DQ ($ VSub_Name '$to_be_patched'))} {(DQ ($ VSub_Name '$tmp_patched'))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ('info: updating ') ($ VSub_Name '$to_be_patched'))}] redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (C {(cp)} {(--)} {(DQ ($ VSub_Name '$tmp_patched'))} {(DQ ($ VSub_Name '$to_be_patched'))} ) ] spids: [16777215 363] ) ] spids: [16777215 390] ) ] spids: [320 392] ) spids: [313 318] ) ] )