Как я могу получить необработанный текстовый вывод руководства в моем терминале


8

Как я могу получить необработанный текстовый вывод руководства в моем терминале?

Я хочу, чтобы руководство отображалось без экрана типа "меньше".


2
Что вы имеете в виду под «сырой текст»? Существует -tвозможность отформатировать справочную страницу с помощью groff.
Edwinksl

Ответы:


12

Вы можете изменить пейджер на catиспользование -Pопции:

man -P cat command

где commandкоманда интереса, справочную страницу которой вы хотите прочитать.

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

man command > file

4

Вы можете напрямую читать сжатые (могут быть и несжатые) manфайлы, находящиеся /usr/share/man/в каталогах, соответствующих соответствующим разделам.

Так, например, чтобы получить необработанный контент manстраницы cat, вам нужно прочитать /usr/share/man/man1/cat.1.gz:

zcat /usr/share/man/man1/cat.1.gz 

Аналогично для man 2 fork:

zcat /usr/share/man/man2/fork.2.gz

3

Если вам нужен текстовый формат, а вам не нужны эти надоедливые «разделители страниц» повсюду в документе, можно сделать следующее:

zcat /usr/share/man/en/man1/man.1.gz | groff -m man -rcR=1 -T ascii -

(перейдите /usr/share/man/en/man1/man.1.gzна страницу справки, которую вы ищете. Это страница справки man (такая же как:, man manно без разделителей страниц)

Есть способ сделать пользовательскую команду man, которая делает то же самое для вас, но я не могу проверить это сейчас ...


1

Перенаправление manвывода (как предлагается в других ответах) должно работать как положено. manобнаруживает, что его вывод не является tty, поэтому он избегает печати соответствующих управляющих символов, которые в противном случае предоставили бы курсив , жирный шрифт и другое форматирование.

В качестве более общего ответа, вы можете использовать col -bдля удаления таких символов из вывода любой команды. Не все команды настолько умны, как manи могут не обнаружить, что их выходные данные перенаправлены. Другими словами, вы могли бы сделать что-то вроде:

man command | col -b > somefile
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.