Ожидание — проанализировать все вхождения шаблона и сохранить в переменной

Просто удалите ==94953==в начале каждой строки перед сравнением результатов:

valgrind --leak-check=full./executable1 <inputfile 2>&1 | sed 's/^==[0-9]*== //' >output1
valgrind --leak-check=full./executable2 <inputfile 2>&1 | sed 's/^==[0-9]*== //' >output2

diff -u output1 output2 

В качестве альтернативы, которая позволяет сохранять немодифицированный вывод и изменять его только при запуске diff,

valgrind --leak-check=full./executable1 <inputfile >output1 2>&1
valgrind --leak-check=full./executable2 <inputfile >output2 2>&1

diff -u <( sed 's/^==[0-9]*== //' <output1 ) <( sed 's/^==[0-9]*== //' <output2 )
0
17.01.2020, 09:21
1 ответ

Если вам не нужно взаимодействовать с этой программой, вы можете execиспользовать ее и легко записывать выходные данные:

set output [exec some_program]

set macs [lmap line [split $output \n] {lindex [split $line] 1}]

Ссылка:exec , lmap

Если программе требуется взаимодействие, немного сложнее зафиксировать вывод. Дайте мне знать.

0
28.01.2020, 02:54

Теги

Похожие вопросы