Хорошо, я узнал сам.
Использование С сценария здесь, и изменяя его немного, я получил то, что мне было нужно.
Модификация, которая принимала участие, заключалась в следующем: так как я хотел подчеркнуть подчеркивание ???
перед каждой ошибкой, я изменил цикл в строке 107 для печати ??? перед циклом остальной части ошибки. Это было так:
if (buffer[0] == 27) dontcol = 1; if (buffer[0] == '\n') dontcol = 0; if (!dontcol) fputs(begstr, stdout); fputs("\0033[4m??? \033[0m", stdout); putchar(buffer[0]); if (!dontcol) fputs(endstr, stdout); for (i = 1; i < n; i++) { if (buffer[i] == 27) dontcol = 1; if (buffer[i] == '\n') dontcol = 0; if (!dontcol) fputs(begstr, stdout); putchar(buffer[i]); if (!dontcol) fputs(endstr, stdout); }