(command.CommandList children: [ (C {(Lit_Other ':')}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:sanitize_diff_raw) op: Equal rhs: {(SQ <'/^:/s/ '>) (DQ (Lit_Other '\\') ('(') ($ VSub_DollarName '$_x40') (Lit_Other '\\') (')')) (SQ <' '>) (DQ (Lit_Other '\\') ('(') ($ VSub_DollarName '$_x40') (Lit_Other '\\') (')')) (SQ <' \\([A-Z]\\)[0-9]*\t/ \\1 \\2 \\3#\t/'>) } ) ] ) (command.FuncDef name: compare_diff_raw body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(sed)} {(-e)} {(DQ ($ VSub_DollarName '$sanitize_diff_raw'))}] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} ) (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(.tmp-1)}) ] ) (command.SimpleCommand words: [{(sed)} {(-e)} {(DQ ($ VSub_DollarName '$sanitize_diff_raw'))}] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_Number '$2'))} ) (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(.tmp-2)}) ] ) (command.AndOr ops: [Op_DAmp] children: [(C {(test_cmp)} {(.tmp-1)} {(.tmp-2)}) (C {(rm)} {(-f)} {(.tmp-1)} {(.tmp-2)})] ) ] ) ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:sanitize_diff_raw_z) op: Equal rhs: {(SQ <'/^:/s/ '>) (DQ ($ VSub_DollarName '$_x40')) (SQ <' '>) (DQ ($ VSub_DollarName '$_x40')) (SQ <' \\([A-Z]\\)[0-9]*$/ X X \\1#/'>) } ) ] ) (command.FuncDef name: compare_diff_raw_z body: (command.BraceGroup children: [ (command.Pipeline children: [ (command.SimpleCommand words: [{(perl)} {(-pe)} {(SQ <'y/\\000/\\012/'>)}] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} ) ] ) (command.SimpleCommand words: [{(sed)} {(-e)} {(DQ ($ VSub_DollarName '$sanitize_diff_raw_z'))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(.tmp-1)})] ) ] negated: F ) (command.Pipeline children: [ (command.SimpleCommand words: [{(perl)} {(-pe)} {(SQ <'y/\\000/\\012/'>)}] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_Number '$2'))} ) ] ) (command.SimpleCommand words: [{(sed)} {(-e)} {(DQ ($ VSub_DollarName '$sanitize_diff_raw_z'))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(.tmp-2)})] ) ] negated: F ) (command.AndOr ops: [Op_DAmp] children: [(C {(test_cmp)} {(.tmp-1)} {(.tmp-2)}) (C {(rm)} {(-f)} {(.tmp-1)} {(.tmp-2)})] ) ] ) ) (command.FuncDef name: compare_diff_patch body: (command.BraceGroup children: [ (command.SimpleCommand words: [ {(sed)} {(-e)} { (SQ <'\n'> <'\t/^[dis]*imilarity index [0-9]*%$/d\n'> <'\t/^index [0-9a-f]*\\.\\.[0-9a-f]/d\n'> <' '> ) } ] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} ) (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(.tmp-1)}) ] ) (command.SimpleCommand words: [ {(sed)} {(-e)} { (SQ <'\n'> <'\t/^[dis]*imilarity index [0-9]*%$/d\n'> <'\t/^index [0-9a-f]*\\.\\.[0-9a-f]/d\n'> <' '> ) } ] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_Number '$2'))} ) (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(.tmp-2)}) ] ) (command.AndOr ops: [Op_DAmp] children: [(C {(test_cmp)} {(.tmp-1)} {(.tmp-2)}) (C {(rm)} {(-f)} {(.tmp-1)} {(.tmp-2)})] ) ] ) ) ] )