Обратные кавычки на странице руководства bash явно указаны в Источник troff, а не результат какого-либо макроса, поэтому его сложно изменить. Однако специальные одиночные обратные кавычки цитируются \ `
, поэтому вы можете применить свой sed к исходному troff вместо этого, используя это различие.
Вместо этого вы можете добавить команду troff для преобразования обратной кавычки в какой-либо другой символ. Команда .tr AXBY
переводит все A в X и B в Y. Таким образом,
(echo '.tr `"'\''"'; zcat $(man -w bash)) | man /dev/stdin
переводит обратные кавычки и одинарные кавычки в двойные кавычки. Это оставляет вам только требуемые специальные одиночные обратные кавычки в выводе, хотя у вас также есть артефакты, такие как возврат конвейера
.
В целом, я думаю, что ваш «плохой обходной путь» вполне адекватен.