Рейтинг:0

Извлечь один столбец strace -c

флаг in

Я пытаюсь получить имена системных вызовов для общих команд и не имею списка команд.
У вас есть идеи, как я могу получить список системных вызовов для некоторых команд.
Наконец я попытался сделать это вручную для каждой команды. я бегу strace -c лс и вывод примерно такой:

Canzanese_QRS_2015.pdf mal-api-2019.zip
JetBrains.PyCharm.2021.1.2.tar.gz vfvw7g8s8h-2.zip
% времени, секунд, использование/вызов, вызовы, ошибки, системный вызов
------ ----------- ----------- --------- --------- ---- ------------
 18,18 0,000202 17 12 мзащита
 15,21 0,000169 10 17 ммап
 12,15 0,000135 15 9 открыта
 10,17 0,000113 10 11 закрыть
  8,28 0,000092 9 10 fstat
  6,39 0,000071 10 7 чтение
  4,50 0,000050 6 8 8 доступ
  3,78 0,000042 21 2 2 стат.
  3,06 0,000034 34 1 prlimit64
  2,88 0,000032 16 2 ioctl
  2,70 0,000030 10 3 брк
  2,52 0,000028 14 2 rt_sigaction
  2.16 0.000024 24 1 мункарта
  1,62 0,000018 9 2 запись
  1,53 0,000017 9 2 гетденты
  1.26 0.000014 14 1 rt_sigprocmask
  1.26 0.000014 14 1 набор_надежных_списков
  1.17 0.000013 13 1 arch_prctl
  1.17 0.000013 13 1 set_tid_address
  0,00 0,000000 0 1 исполнитель
------ ----------- ----------- --------- --------- ---- ------------
100,00 0,001111 94 10 всего

Теперь, как я могу извлечь последний столбец, который является именами системных вызовов, и у вас есть идеи, как я могу автоматизировать эту задачу для некоторых других команд и сохранить ее в файл CSV?

заранее спасибо

Рейтинг:0
флаг in

Вы можете использовать awk. Что-то вроде этого:

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.