Я пытаюсь разделить вывод программы на фиксированную позицию. Я нашел рекомендацию awk, но мне нужно оставить пустые места в последней части вывода. Вот что мне нужно сделать:
Вывод, который я пытаюсь разделить, выглядит следующим образом:
trace-cmd-16029 [000] 5635.254957: function: switch_mm_irqs_off
trace-cmd-16029 [000] 5635.254961: function: load_new_mm_cr3
trinity-c0-16027 [000] 5635.254961: function: finish_task_switch
trinity-c0-16027 [000] 5635.254963: function: smp_reschedule_interrupt
trinity-c0-16027 [000] 5635.254965: function: scheduler_ipi
trinity-c0-16027 [000] 5635.254965: function: irq_enter
trinity-c0-16027 [000] 5635.254965: function: rcu_irq_enter
trinity-c0-16027 [000] 5635.254965: function: rcu_nmi_enter
trinity-c0-16027 [000] 5635.254965: function: sched_ttwu_pending
Мне нужно отформатировать его так:
load_new_mm_cr3
finish_task_switch
smp_reschedule_interrupt
scheduler_ipi
irq_enter
rcu_irq_enter
rcu_nmi_enter
sched_ttwu_pending
Обычно преамбула всегда заканчивается «function:», за которой следует много пустых мест. Некоторые пустые пробелы не от форматирования, а показывают вызываемые подфункции (например, пустое пространство перед "load_nw_mm_cr3" есть, потому что это подфункция "switch_mm_irqs_off"). AWK удалит все пустые места, даже те, которые мне еще нужны.
Кто-нибудь с некоторыми советами, как я могу отформатировать этот вывод в терминале?