Как вывести страницу справочника?

У меня недавно была причина клонировать некоторые multiple-100s-of-GB разделы впервые в моей linuxing истории (c.f cp -ar или rsync которые служили мне хорошо много раз). Конечно, я обратился к dd потому что все знают, что это - то, что Вы используете..., и был потрясен производительностью. Немного поиска с помощью Google скоро привело меня к ddrescue, который я использовал несколько раз теперь, и работает великолепно хорошо (намного быстрее, чем dd).

48
30.06.2011, 13:44
6 ответов

В первую очередь, файлы человека являются обычно просто gziped текстовыми файлами где-нибудь в Вашей файловой системе. Так как Ваш milage будет варьироваться, находя их, и Вы, вероятно, хотели обработанную и отформатированную версию, которую человек дает Вам вместо источника, можно просто вывести их с man инструмент. Путем взгляда на man man, Я вижу, что можно измениться, программа раньше просматривала страницы справочника с -P отметьте как это:

man -P cat command_name

Это ничего также не стоит это man автоматически обнаруживает, когда Вы передаете по каналу, это производится вместо того, чтобы просмотреть его на экране, поэтому если Вы собираетесь обработать его с чем-то еще, как что можно пропустить прямо к тому шагу так:

man command_name | grep search_string

или вывести В файл:

man command_name > formatted_man_page.txt
43
27.01.2020, 19:34
  • 1
    с помощью-P, не делает выходной файл аккуратно читаемым. Это набросано со всеми символами ctrl-H. Я раньше делал человека cmd>! man.cmd и открытый man.cmd и делают '%s/^H.//g' для удаления раздражающих управляющих символов для представления bolds и курсива. Но это все еще имеет некоторую проблему, когда существуют другие специальные символы. Я все еще ищу хороший метод избежать редактирования руководства к выводу. –  Chan Kim 25.04.2016, 11:34
  • 2
    @ChanKim Вы делаете что-то не так или имеете некоторую нестандартную конфигурацию, стоящую на пути, потому что оба из методов здесь на самом деле производят чистый вывод, отформатированный в простом тексте без дополнительных управляющих символов. Вы уверены, что не имеете man искаженный к чему-то или флагам вызвал на в Вашей оболочке, которые разделяют Ваш от нормальной функции man? –  Caleb 25.04.2016, 11:39
  • 3
    @Caleb, я подтверждаю проблему OP. Выпуск 6.7 CentOS (Финал),/usr/bin/man gcc> j, редактирует 'j', весь ctrl-H's там. Лучший ответ, который я нашел, в commandlinefu.com/commands/view/2417 / … –  Charles Roth 19.05.2016, 18:42

Получить файл страницы справочника ASCII, без раздражающей клавиши Backspace/подчеркивания пытается при подчеркивании и странных последовательностях, чтобы сделать выделение полужирным:

man ksh | col -b > ksh.txt
54
27.01.2020, 19:34
  • 1
    Вы заслуживаете большего количества upvotes –  Labo 13.01.2017, 19:47
  • 2
    Привет, почему действительно укомплектовывает переданный по каналу вывод, содержит дублирующиеся символы? и то, Как сделал седло-b, удаляет?Заранее спасибо. –  saurabheights 20.04.2017, 16:04
  • 3
    @saurabheights - человек пытается сделать подчеркивания и полужирный текст и возможно некоторые другие вещи с клавишами Backspace, дублирующимися символами, выйти из sequenc es, и т.д. и т.д. Приемы, которые могли бы работать, если Вы печатаете вывод человека на точечной матрице или другом принтере, или показываете его текстом на терминале. Я не считал источник седла, но он, вероятно, просто исследует stdin байт байтом и не передает клавиши Backspace, и т.д. к чтениям страницы справочника stdout. седла как кто-то записал, что он конкретно для фильтрации человека произвел. –  Bruce Ediger 21.04.2017, 16:00
  • 4
    хорошо, который имеет смысл. Такие (скрытые) символы могли вызвать дублирующиеся символы. Спасибо Bruce. –  saurabheights 21.04.2017, 16:02

Страницы справочника обычно troff предварительно обработанные файлы, и можно добраться до простого текста с,

groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt

groff обертка для troff.

Больше информации здесь.

Вы, возможно, должны были бы использовать gzip для распаковки файлов страницы справочника сначала, и у Вас все еще будет много информации о форматировании в выводе.

24
27.01.2020, 19:34
  • 1
    +1 для разговора о groff/troff и форматирования страниц справочника –  lgeorget 25.06.2014, 14:26

Просто используйте man команда - можно передать вывод по каналу в другие вещи, как Вы можете с cat для файла.

6
27.01.2020, 19:34

Если вы просто хотите CAT A MANPAGE, вы можете просто трусить его на CAT :

man ls | cat

Если вы хотите выбросить его содержимое в файл:

man ls > ls_manpage_dump.txt
3
27.01.2020, 19:34

Я делаю это все время. Эта командная строка меня радует:

man man | col -bx > man.txt

col -b удаляет пробелы.

col -bx также заменяет табуляции пробелами, что я сильно предпочитаю.

Если я хочу, чтобы текст был отформатирован в соответствии с моими предпочтениями при чтении, я меняю команду на эту:

MANWIDTH=10000 man man | col -bx > man.txt
11
27.01.2020, 19:34

Теги

Похожие вопросы