Если я пытаюсь искать в рамках определенных страниц справочника с помощью grep, я получаю несколько 'безобразных' сообщений.
Например:
man mpv | grep dvdnav
результаты в:
mpv dvdnav://[longest|menu|title][/device] [options]
grotty:<standard input> (<standard input>):90690: character above first line discarded
grotty:<standard input> (<standard input>):90694: character above first line discarded
grotty:<standard input> (<standard input>):90698: character above first line discarded
grotty:<standard input> (<standard input>):90702: character above first line discarded
grotty:<standard input> (<standard input>):91895: character above first line discarded
grotty:<standard input> (<standard input>):91899: character above first line discarded
grotty:<standard input> (<standard input>):91903: character above first line discarded
grotty:<standard input> (<standard input>):91907: character above first line discarded
grotty:<standard input> (<standard input>):94450: character above first line discarded
grotty:<standard input> (<standard input>):94454: character above first line discarded
grotty:<standard input> (<standard input>):94458: character above first line discarded
│dvdnav:// │ dvdnav://menu │
Что вызывает эти сообщения и как я предотвращаю их?
У меня нет никакого mpv
установленный, но это кажется больше предупреждением grotty
(программа, которые обрабатывают источники страницы справочника для печати ее к стандартному выводу), вероятно, прибывающий из несовместимых страниц справочника. Вы попробовали
man mpv 2> /dev/null | grep dvdnav
? Это перенаправит ошибку и предупреждения от grotty
до приемника, так, чтобы у Вас был более чистый вывод.
, Тем не менее, та ошибка является, вероятно, ошибкой в mpv
страница справочника (или в grotty
, Вы никогда не знаете).
я вполне уверен, это вызывается ошибкой в текстовом средстве форматирования страницы справочника.
[Обновление: Также см. этот ответ w/касательно к ошибка отчет.]
man grotty
говорит,
<час>безобразный переводит вывод GNU troff в форму, подходящую для подобных печатающему устройству устройств.
Для отладки этого первый проверьте, можно ли также отобразить эту страницу справочника с groffer
(графический roffer).
, Когда я столкнулся с этими ошибками, я нашел, что groffer хорошо работал без ошибки, но безобразный подбросил этот 'символ выше первой строки, отброшенной' ошибка.
<час>, Таким образом, я вырыл немного глубже. Страница, которая давала мне проблему, была zoneminder.1.
Первый я разархивировал его:
gunzip -k zoneminder.1.gz
Затем использование этого я могу запустить тест:
man -l man.1 | grep jksffjsd #-l means man the local file, i.e. produce error messages
Теперь редактирование zoneminder.1 с делением и завоевывают. Первый удалил последний 1/2 его, и ошибка ушла. Затем удаленный только последний 3/4 его и ошибка были все еще там. Затем удаленный последний 5/8 его и ошибка были все еще там. Затем смотрел на него и начал просто удалять несколько строк за один раз до ошибки, переключенной от на прочь.
я оказался в таблице и мог только удалить некоторые целые записи из таблицы (см. изображение ниже).
то, Что я нашел, было то, что эта таблица была тем, что портило, , но только когда она переполнилась к следующей странице , как показан здесь:
Удаляют еще одну запись из таблицы, и ошибки уходят.
<час>, Таким образом, справедливо просто проигнорировать это.
я буду видеть, могу ли я сообщить об этом как об ошибке в безобразном.
Этому файлу более 5 лет; Я знаю. Но если кто-то еще сталкивается с той же проблемой, я только что ответил на такой вопрос; довольно просто: Как использовать grep для поиска параметров на справочной странице?
$ man ls | grep -- '--a'
-a, --all
-A, --almost-all
--author
И сузить результаты до строк, начинающихся с дефиса:
grep '^[[:space:]]*-' –
Тестовый запуск:
$ man shutdown | grep -- '-' | grep '^[[:space:]]*-'
--help
-H, --halt
-P, --poweroff
-r, --reboot
-h
-k