Используйте kill $( jobs -p )
... Мне это нравится. Используйте это, если у вас слишком много заданий для kill
s argv (это может случиться, я думаю):
killalljobs() { for pid in $( jobs -p ); do kill -9 $pid ; done ; }
Я потратил некоторое время на изучение исходного кода grep и немного сузил проблему.
Основная проблема заключается в функции print_line_middle
. См. эту конструкцию цикла:
for (cur = beg;
(cur < lim && ((match_offset = execute (compiled_pattern, beg, lim - beg,
&match_size, cur)) != (size_t) -1));
cur = b + match_size)
{
Проблема в том, что, например, #3 выше, вызов match_offset = execute(...)
равен равному -1. Этот результат влияет на время выполнения печати и, следовательно, на используемые цвета.
Понятия не имею :), но вы можете написать разработчикам по электронной почте. Из README:
Send bug reports to bug-grep@gnu.org.