(List (FunctionDef err_exit [] (List (Com {[LIT_CHARS print]} {[LIT_CHARS -u2]} {[LIT_CHARS -n]} {[DQ [\ LIT_ESCAPED_CHAR "\\t"]]}) (Com {[LIT_CHARS print]} {[LIT_CHARS -u2]} {[LIT_CHARS -r]} {[VarSub Command] [LIT_OTHER "["] [VarSub 1] [LIT_OTHER "]"] [LIT_OTHER ":"]} {[DQ [VarSub @ transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}} None]]]}) (Com {[LIT_CHARS let]} {[LIT_VAR_LIKE "Errors+="] [LIT_CHARS 1] =}) ) ) (Com {[LIT_CHARS alias]} {[LIT_VAR_LIKE "err_exit="] [SQ ] =}) (= scope= flags=0 words=[] bindings=[('Command', {[VarSub 0 transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]})]) (Com {[LIT_CHARS integer]} {[LIT_VAR_LIKE "Errors="] [LIT_CHARS 0] =}) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('tmp', {[ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS -dt]})]})]) (List (Com {[LIT_CHARS err_exit]} {[LIT_CHARS mktemp]} {[LIT_CHARS -dt]} {[LIT_CHARS failed]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS trap]} {[DQ [LIT_CHARS "cd /; rm -rf "][VarSub tmp]]} {[LIT_CHARS EXIT]}) (= scope= flags=0 words=[] bindings=[('tmp1', {[VarSub tmp] [LIT_CHARS /tmp1.csv]})]) (= scope= flags=0 words=[] bindings=[('tmp2', {[VarSub tmp] [LIT_CHARS /tmp2.csv]})]) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub tmp1]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "CAT,\"CVE CCODE\",\"NECA OCN\",ST,LATA,AP,\"New InterState\n"] [LIT_CHARS "Orig\",\"New Inter\"\"\"\"State\n"] [LIT_CHARS "Term\",\"New IntraState\n"] [LIT_CHARS "Orig\",\"New IntraState\n"] [LIT_CHARS "Term\"\n"] [LIT_CHARS "CLEC,XXXX,AAAA,RB,ABC,comp,\" 0.2 \",\" 0.4 \",\" 0.6 \",\" 0.8 \"\n"] [LIT_CHARS "CLEC,YYYY,QQQQ,SX,123,mmmm,\" 0.3 \",\" 0.5 \",\" 0.7 \",\" 0.9 \"\n"]} 0), > ) (Com {[LIT_CHARS integer]} {[LIT_VAR_LIKE "count="] [LIT_CHARS 0] =} {[LIT_CHARS nfields]}) (= scope= flags=0 words=[] bindings=[('IFS', {[VarSub 2 test_op=VS_TEST_HYPHEN {[LIT_CHARS ","]}]})]) (For j [{[LIT_CHARS 1]}, {[LIT_CHARS 2]}]) (List (Com {[LIT_CHARS typeset]} {[LIT_CHARS -a]} {[LIT_CHARS arr]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS -A]} {[LIT_CHARS -S]} {[LIT_CHARS arr]}) (List (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub nfields]}} {A Atom NODE_ARITH_WORD {[VarSub arr bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]]}}}) (If (DParen {A2 AS_OP_DEQUAL {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub count]}} } {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}) (List (AndOr OP_OR_IF (DParen {A2 AS_OP_DEQUAL {A Atom NODE_ARITH_WORD {[VarSub nfields]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 10]}}}) (Com {[LIT_CHARS err_exit]} {[SQ ]}) ) (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_EQUAL {[VarSub arr bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 7]}})]} {[SQ ]}}) (Com {[LIT_CHARS err_exit]} {[SQ ]}) ) ) ) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}}} {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub nfields]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (List (= scope= flags=0 words=[] bindings=[('delim', {[VarSub IFS]})]) (If (DParen {A2 AS_OP_DEQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub nfields]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (= scope= flags=0 words=[] bindings=[('delim', {[SQ ]})]) ) (If (DParen {A2 AS_OP_DEQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "%#q%s"]]} {[DQ [VarSub arr bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]]} {[DQ [VarSub delim]]}) (ElseTrue) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "%(csv)q%s"]]} {[DQ [VarSub arr bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]]} {[DQ [VarSub delim]]}) ) ) ) ) ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS diff]} {[DQ [VarSub tmp1]]} {[DQ [VarSub tmp2]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS err_exit]} {[DQ [LIT_CHARS "files "][VarSub tmp1][LIT_CHARS " and "][VarSub tmp2][LIT_CHARS " differ"]]}) ) (Com {[LIT_CHARS exit]} {[ArithSub {A3 AS_OP_QMARK {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub Errors]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 125]}}} {A Atom NODE_ARITH_WORD {[VarSub Errors]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 125]}}}]}) )