(command.CommandList children: [ (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_count) op: assign_op.Equal rhs: {(0)} spids: [163] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:165) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_pid) op: assign_op.Equal rhs: {(0)} spids: [167] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:169) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_verbose) op: assign_op.Equal rhs: {(0)} spids: [171] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:173) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_cmd) op: assign_op.Equal rhs: {(0)} spids: [175] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:177) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_duration) op: assign_op.Equal rhs: {(0)} spids: [179] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:181) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_tail) op: assign_op.Equal rhs: {(0)} spids: [183] ) ] ) ] ) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tnum) op: assign_op.Equal rhs: (word.Empty) spids: [186] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:187) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pid) op: assign_op.Equal rhs: (word.Empty) spids: [189] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:190) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:duration) op: assign_op.Equal rhs: (word.Empty) spids: [192] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:193) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd) op: assign_op.Equal rhs: (word.Empty) spids: [195] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:196) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cpus) op: assign_op.Equal rhs: {(-a)} spids: [198] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:200) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opts) op: assign_op.Equal rhs: (word.Empty) spids: [202] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:203) ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tcmd) op: assign_op.Equal rhs: {(cat)} spids: [205] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:207) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ttext) op: assign_op.Equal rhs: (word.Empty) spids: [209] ) ] ) ] ) (C {(trap)} {(SQ )} {(INT)} {(QUIT)} {(TERM)} {(PIPE)} {(HUP)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:stdout_workaround) op: assign_op.Equal rhs: {(1)} spids: [227] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:write_workaround) op: assign_op.Equal rhs: {(1)} spids: [233] ) ] ) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:243) cond: [ (C {(getopts)} {(cd) (Id.Lit_Other ':') (hp) (Id.Lit_Other ':') (t) (Id.Lit_Other ':') (v)} {(opt)} ) ] body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$opt')} arms: [ (case_arm pat_list: [{(c)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_count) op: assign_op.Equal rhs: {(1)} spids: [270] ) ] ) ] spids: [267 268 273 -1] ) (case_arm pat_list: [{(d)}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_duration) op: assign_op.Equal rhs: {(1)} spids: [279] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:281) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:duration) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$OPTARG')} spids: [283] ) ] ) ] spids: [276 277 286 -1] ) (case_arm pat_list: [{(p)}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_pid) op: assign_op.Equal rhs: {(1)} spids: [292] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:294) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pid) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$OPTARG')} spids: [296] ) ] ) ] spids: [289 290 299 -1] ) (case_arm pat_list: [{(t)}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_tail) op: assign_op.Equal rhs: {(1)} spids: [305] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:307) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tnum) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$OPTARG')} spids: [309] ) ] ) ] spids: [302 303 312 -1] ) (case_arm pat_list: [{(v)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_verbose) op: assign_op.Equal rhs: {(1)} spids: [318] ) ] ) ] spids: [315 316 321 -1] ) (case_arm pat_list: [{(h)} {(Id.Lit_QMark '?')}] action: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLessDash val:'<<-' span_id:331) fd: -1 here_begin: {(END)} here_end_span_id: 359 stdin_parts: [ ('USAGE: syscount [-chv] [-t top] {-p PID|-d seconds|command}\n') (' syscount # count by process name\n') (' -c # show counts by syscall name\n') (' -h # this usage message\n') (' -v # verbose: shows PID\n') (' -p PID # trace this PID only\n') (' -d seconds # duration of trace\n') (' -t num # show top number only\n') (' command # run and trace this command\n') (' eg,\n') (' syscount # syscalls by process name\n') (' syscount -c # syscalls by syscall name\n') (' syscount -d 5 # trace for 5 seconds\n') (' syscount -cp 923 # syscall names for PID 923\n') (' syscount -c ls # syscall names for ') (Id.Right_DoubleQuote '"') (ls) (Id.Right_DoubleQuote '"') ('\n') ('\n') ('See the man page and example file for more info.\n') ] ) (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:334) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:361) arg_word: {(1)} ) ] spids: [324 327 -1 366] ) ] ) ] ) ) (C {(shift)} { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$OPTIND')}) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w:{($ Id.VSub_Pound '$#')}) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 0)}) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:399) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt_cmd) op: assign_op.Equal rhs: {(1)} spids: [404] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_At '$@'))} spids: [408] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cpus) op: assign_op.Equal rhs: (word.Empty) spids: [414] ) ] ) ] spids: [387 401] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_pid span_id:422) ) right: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_duration span_id:426) ) ) right: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_cmd span_id:430) ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:438) ) ] action: [ (command.Simple words: [{(echo)} {(DQ ('ERROR: Pick one of {-p PID|-n name|-d seconds|command}'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:445) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:453) arg_word: {(1)} ) ] spids: [418 440] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_tail span_id:463) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:467) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tcmd) op: assign_op.Equal rhs: {(DQ ('tail -') ($ Id.VSub_DollarName '$tnum'))} spids: [472] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ttext) op: assign_op.Equal rhs: {(DQ (' Top ') ($ Id.VSub_DollarName '$tnum') (' only.'))} spids: [479] ) ] ) ] spids: [459 469] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_duration span_id:492) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:496) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd) op: assign_op.Equal rhs: {(DQ ('sleep ') ($ Id.VSub_DollarName '$duration'))} spids: [501] ) ] ) (C {(echo)} { (DQ ('Tracing for ') ($ Id.VSub_DollarName '$duration') (' seconds.') ($ Id.VSub_DollarName '$ttext') (..) ) } ) ] spids: [488 498] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_pid span_id:524) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:528) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cpus) op: assign_op.Equal rhs: (word.Empty) spids: [533] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd) op: assign_op.Equal rhs: {(DQ ('-p ') ($ Id.VSub_DollarName '$pid'))} spids: [536] ) ] ) (C {(echo)} { (DQ ('Tracing PID ') ($ Id.VSub_DollarName '$pid') (.) ($ Id.VSub_DollarName '$ttext') ('.. Ctrl-C to end.') ) } ) ] spids: [520 530] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:opt_cmd span_id:557)) ) (C {(echo)} { (DQ ('Tracing while running: ') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:568) ) ($ Id.VSub_DollarName '$cmd') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:570) ) (.) ($ Id.VSub_DollarName '$ttext') (..) ) } ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_pid span_id:578) ) right: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_duration span_id:582) ) ) right: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_cmd span_id:586) ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 0)}) ) ) (C {(echo)} {(DQ (Tracing.) ($ Id.VSub_DollarName '$ttext') ('.. Ctrl-C to end.'))}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:stdout_workaround span_id:609) ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opts) op: assign_op.Equal rhs: {(DQ ('-o /dev/stdout'))} spids: [616] ) ] ) ] ) (C {(ulimit)} {(-n)} {(32768)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_count span_id:639) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_verbose span_id:645) ) ) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:649) ) ] action: [ (C {(Id.Lit_Other ':')} { (braced_var_sub token: (Token id:Id.VSub_Name val:cmd span_id:657) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonEquals arg_word:{('sleep 999999')}) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:out) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:664) command_list: (command.CommandList children: [ (C {(perf)} {(stat)} {($ Id.VSub_DollarName '$opts')} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'syscalls:sys_enter_*' span_id:674))} {($ Id.VSub_DollarName '$cpus')} {($ Id.VSub_DollarName '$cmd')} ) ] ) ) } spids: [663] ) ] ) (C {(printf)} {(DQ ('%-17s %8s') (Id.Lit_Other '\\') (n))} {(DQ (SYSCALL))} {(DQ (COUNT))}) (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$out'))}) (C {(awk)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:711) (Token id: Id.Lit_Chars val: '\t$1 && $2 ~ /syscalls:/ {\n' span_id: 712 ) (Token id:Id.Lit_Chars val:'\t\tsub("syscalls:sys_enter_", ""); sub(":", "")\n' span_id:713) (Token id: Id.Lit_Chars val: '\t\tgsub(",", "")\n' span_id: 714 ) (Token id:Id.Lit_Chars val:'\t\tprintf "%-17s %8s\\n", $2, $1\n' span_id:715) (Token id:Id.Lit_Chars val:'\t}' span_id:716) ) } ) (C {(sort)} {(-n)} {(-k2)}) (C {($ Id.VSub_DollarName '$tcmd')}) ] negated: F ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:732) ) ] spids: [635 651] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_count span_id:744) ) right: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_verbose span_id:748) ) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:752) ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:write_workaround span_id:761) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:765) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tp) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:775) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(perf)} {(list)} {(syscalls) (Id.Lit_Other ':') (sys_enter_) (Id.Lit_Star '*') } ) (C {(awk)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:790) (Token id: Id.Lit_Chars val: '\t\t $1 != "syscalls:sys_enter_write" && $1 ~ /syscalls:/ { printf "-e %s ", $1 }' span_id: 791 ) ) } ) ] negated: F ) ] ) ) } spids: [774] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tp) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$tp') (' -e syscalls:sys_enter_write'))} spids: [796] ) ] ) (C {(sh)} {(-c)} { (DQ ('perf record ') ($ Id.VSub_DollarName '$tp') (" --filter 'common_pid != '") (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\$' span_id:811)) (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:812) ) (' ') ($ Id.VSub_DollarName '$cpus') (' ') ($ Id.VSub_DollarName '$cmd') ) } ) ] spids: [757 767] ) ] else_action: [ (C {(perf)} {(record)} {(SQ (Token id:Id.Lit_Chars val:'syscalls:sys_enter_*' span_id:828))} {($ Id.VSub_DollarName '$cpus')} {($ Id.VSub_DollarName '$cmd')} ) ] ) (C {(printf)} {(DQ ('%-6s %-16s %-17s %8s') (Id.Lit_Other '\\') (n))} {(DQ (PID))} {(DQ (COMM))} {(DQ (SYSCALL))} {(DQ (COUNT))} ) (command.Pipeline children: [ (C {(perf)} {(script)} {(--fields)} {(pid) (Id.Lit_Comma ',') (comm) (Id.Lit_Comma ',') (event)} ) (C {(awk)} { (SQ (Token id:Id.Lit_Chars val:'$1 != "#" {\n' span_id:886) (Token id: Id.Lit_Chars val: '\t\tsub("syscalls:sys_enter_", ""); sub(":", "")\n' span_id: 887 ) (Token id:Id.Lit_Chars val:'\t\ta[$1 ";" $2 ";" $3]++\n' span_id:888) (Token id:Id.Lit_Chars val:'\t}\n' span_id:889) (Token id:Id.Lit_Chars val:'\tEND {\n' span_id:890) (Token id: Id.Lit_Chars val: '\t\tfor (k in a) {\n' span_id: 891 ) (Token id:Id.Lit_Chars val:'\t\t\tsplit(k, b, ";");\n' span_id:892) (Token id: Id.Lit_Chars val: '\t\t\tprintf "%-6s %-16s %-17s %8d\\n", b[2], b[1], b[3], a[k]\n' span_id: 893 ) (Token id:Id.Lit_Chars val:'\t\t}\n' span_id:894) (Token id:Id.Lit_Chars val:'\t}' span_id:895) ) } ) (C {(sort)} {(-n)} {(-k4)}) (C {($ Id.VSub_DollarName '$tcmd')}) ] negated: F ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:911) ) ] spids: [740 754] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tp) op: assign_op.Equal rhs: {(DQ ('-e raw_syscalls:sys_enter'))} spids: [919] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:write_workaround span_id:928) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:932) ) ] action: [ (C {(sh)} {(-c)} { (DQ ('perf record ') ($ Id.VSub_DollarName '$tp') (" --filter 'common_pid != '") (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:945) ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\$' span_id:946)) (' ') ($ Id.VSub_DollarName '$cpus') (' ') ($ Id.VSub_DollarName '$cmd') ) } ) ] spids: [924 934] ) ] else_action: [ (C {(perf)} {(record)} {($ Id.VSub_DollarName '$tp')} {($ Id.VSub_DollarName '$cpus')} {($ Id.VSub_DollarName '$cmd')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:opt_verbose span_id:973) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:977) ) ] action: [ (C {(printf)} {(DQ ('%-6s %-16s %8s') (Id.Lit_Other '\\') (n))} {(DQ (PID))} {(DQ (COMM))} {(DQ (COUNT))} ) (command.Pipeline children: [ (C {(perf)} {(script)} {(--fields)} {(pid) (Id.Lit_Comma ',') (comm)}) (C {(awk)} { (SQ (Token id:Id.Lit_Chars val:'$1 != "#" { a[$1 ";" $2]++ }\n' span_id:1018) (Token id:Id.Lit_Chars val:'\tEND {\n' span_id:1019) (Token id:Id.Lit_Chars val:'\t\tfor (k in a) {\n' span_id:1020) (Token id: Id.Lit_Chars val: '\t\t\tsplit(k, b, ";");\n' span_id: 1021 ) (Token id:Id.Lit_Chars val:'\t\t\tprintf "%-6s %-16s %8d\\n", b[2], b[1], a[k]\n' span_id:1022) (Token id:Id.Lit_Chars val:'\t\t}\n' span_id:1023) (Token id:Id.Lit_Chars val:'\t}' span_id:1024) ) } ) (C {(sort)} {(-n)} {(-k3)}) (C {($ Id.VSub_DollarName '$tcmd')}) ] negated: F ) ] spids: [969 979] ) ] else_action: [ (C {(printf)} {(DQ ('%-16s %8s') (Id.Lit_Other '\\') (n))} {(DQ (COMM))} {(DQ (COUNT))}) (command.Pipeline children: [ (C {(perf)} {(script)} {(--fields)} {(comm)}) (C {(awk)} { (SQ (Token id:Id.Lit_Chars val:'$1 != "#" { a[$1]++ }\n' span_id:1072) (Token id:Id.Lit_Chars val:'\tEND {\n' span_id:1073) (Token id:Id.Lit_Chars val:'\t\tfor (k in a) {\n' span_id:1074) (Token id: Id.Lit_Chars val: '\t\t\tprintf "%-16s %8d\\n", k, a[k]\n' span_id: 1075 ) (Token id:Id.Lit_Chars val:'\t\t}\n' span_id:1076) (Token id:Id.Lit_Chars val:'\t}' span_id:1077) ) } ) (C {(sort)} {(-n)} {(-k2)}) (C {($ Id.VSub_DollarName '$tcmd')}) ] negated: F ) ] ) ] )