Extraiga una columna de strace -c

Extraiga una columna de strace -c

Estoy intentando obtener los nombres de las llamadas del sistema para comandos comunes y no tengo una lista de comandos.
¿Tiene alguna idea de cómo puedo obtener una lista de llamadas al sistema para algunos comandos?
Finalmente intenté hacer tal cosa manualmente para cada comando. Lo ejecuto strace -c lsy el resultado es algo como esto:

Canzanese_QRS_2015.pdf         mal-api-2019.zip
JetBrains.PyCharm.2021.1.2.tar.gz  vfvw7g8s8h-2.zip
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 18.18    0.000202          17        12           mprotect
 15.21    0.000169          10        17           mmap
 12.15    0.000135          15         9           openat
 10.17    0.000113          10        11           close
  8.28    0.000092           9        10           fstat
  6.39    0.000071          10         7           read
  4.50    0.000050           6         8         8 access
  3.78    0.000042          21         2         2 statfs
  3.06    0.000034          34         1           prlimit64
  2.88    0.000032          16         2           ioctl
  2.70    0.000030          10         3           brk
  2.52    0.000028          14         2           rt_sigaction
  2.16    0.000024          24         1           munmap
  1.62    0.000018           9         2           write
  1.53    0.000017           9         2           getdents
  1.26    0.000014          14         1           rt_sigprocmask
  1.26    0.000014          14         1           set_robust_list
  1.17    0.000013          13         1           arch_prctl
  1.17    0.000013          13         1           set_tid_address
  0.00    0.000000           0         1           execve
------ ----------- ----------- --------- --------- ----------------
100.00    0.001111                    94        10 total

Ahora, ¿cómo puedo extraer la última columna, que son los nombres de las llamadas del sistema? ¿Tiene alguna idea de cómo puedo automatizar esta tarea para otros comandos y guardarla en un archivo CSV?

gracias de antemano

Respuesta1

Podrías usar awk. Algo como esto:

strace -c ls 2>&1 | awk -v p=0 \
  '{ if ($1 ~ /[\-]{6}/ ) { p = p + 1 } else if ( p == 1 ) { print $NF }}'

información relacionada