(command.CommandList children: [ (C {(Id.Lit_Other ':')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sanitize_diff_raw) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'/^:/s/ ' span_id:5)) (DQ (Id.Lit_Other '\\') ('(') ($ Id.VSub_DollarName '$_x40') (Id.Lit_Other '\\') (')')) (SQ (Token id:Id.Lit_Chars val:' ' span_id:15)) (DQ (Id.Lit_Other '\\') ('(') ($ Id.VSub_DollarName '$_x40') (Id.Lit_Other '\\') (')')) (SQ (Token id:Id.Lit_Chars val:' \\([A-Z]\\)[0-9]*\t/ \\1 \\2 \\3#\t/' span_id:25)) } spids: [3] ) ] ) (command.ShFunction name: compare_diff_raw body: (command.BraceGroup children: [ (command.Simple words: [{(sed)} {(-e)} {(DQ ($ Id.VSub_DollarName '$sanitize_diff_raw'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:61) fd: -1 arg_word: {(DQ ($ Id.VSub_Number '$1'))} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:66) fd: -1 arg_word: {(.tmp-1)} ) ] ) (command.Simple words: [{(sed)} {(-e)} {(DQ ($ Id.VSub_DollarName '$sanitize_diff_raw'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:78) fd: -1 arg_word: {(DQ ($ Id.VSub_Number '$2'))} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:83) fd: -1 arg_word: {(.tmp-2)} ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [(C {(test_cmp)} {(.tmp-1)} {(.tmp-2)}) (C {(rm)} {(-f)} {(.tmp-1)} {(.tmp-2)})] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sanitize_diff_raw_z) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'/^:/s/ ' span_id:108)) (DQ ($ Id.VSub_DollarName '$_x40')) (SQ (Token id:Id.Lit_Chars val:' ' span_id:114)) (DQ ($ Id.VSub_DollarName '$_x40')) (SQ (Token id:Id.Lit_Chars val:' \\([A-Z]\\)[0-9]*$/ X X \\1#/' span_id:120)) } spids: [106] ) ] ) (command.ShFunction name: compare_diff_raw_z body: (command.BraceGroup children: [ (command.Pipeline children: [ (command.Simple words: [ {(perl)} {(-pe)} {(SQ (Token id:Id.Lit_Chars val:'y/\\000/\\012/' span_id:153))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:156) fd: -1 arg_word: {(DQ ($ Id.VSub_Number '$1'))} ) ] ) (command.Simple words: [{(sed)} {(-e)} {(DQ ($ Id.VSub_DollarName '$sanitize_diff_raw_z'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:171) fd: -1 arg_word: {(.tmp-1)} ) ] ) ] negated: F ) (command.Pipeline children: [ (command.Simple words: [ {(perl)} {(-pe)} {(SQ (Token id:Id.Lit_Chars val:'y/\\000/\\012/' span_id:180))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:183) fd: -1 arg_word: {(DQ ($ Id.VSub_Number '$2'))} ) ] ) (command.Simple words: [{(sed)} {(-e)} {(DQ ($ Id.VSub_DollarName '$sanitize_diff_raw_z'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:198) fd: -1 arg_word: {(.tmp-2)} ) ] ) ] negated: F ) (command.AndOr ops: [Id.Op_DAmp] children: [(C {(test_cmp)} {(.tmp-1)} {(.tmp-2)}) (C {(rm)} {(-f)} {(.tmp-1)} {(.tmp-2)})] ) ] ) ) (command.ShFunction name: compare_diff_patch body: (command.BraceGroup children: [ (command.Simple words: [ {(sed)} {(-e)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:242) (Token id: Id.Lit_Chars val: '\t/^[dis]*imilarity index [0-9]*%$/d\n' span_id: 243 ) (Token id:Id.Lit_Chars val:'\t/^index [0-9a-f]*\\.\\.[0-9a-f]/d\n' span_id:244) (Token id:Id.Lit_Chars val:' ' span_id:245) ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:248) fd: -1 arg_word: {(DQ ($ Id.VSub_Number '$1'))} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:253) fd: -1 arg_word: {(.tmp-1)} ) ] ) (command.Simple words: [ {(sed)} {(-e)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:262) (Token id: Id.Lit_Chars val: '\t/^[dis]*imilarity index [0-9]*%$/d\n' span_id: 263 ) (Token id:Id.Lit_Chars val:'\t/^index [0-9a-f]*\\.\\.[0-9a-f]/d\n' span_id:264) (Token id:Id.Lit_Chars val:' ' span_id:265) ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:268) fd: -1 arg_word: {(DQ ($ Id.VSub_Number '$2'))} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:273) fd: -1 arg_word: {(.tmp-2)} ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [(C {(test_cmp)} {(.tmp-1)} {(.tmp-2)}) (C {(rm)} {(-f)} {(.tmp-1)} {(.tmp-2)})] ) ] ) ) ] )