Скопируйте весь текст страницы `man` из Terminal.app

20

Я читаю очень длинную справочную страницу ( man ssh). Я хочу сохранить весь этот текст для более удобного чтения в текстовом редакторе.

К сожалению, выбрав любой из:

  • Изменить → Выбрать все → Копировать

  • Оболочка → Экспортировать текст как ...

в результате сохраняется только текст, заполненный экраном, а не весь текст, который был прокручен.

Как извлечь текст всей manстраницы?

Базилик Бурк
источник
Существует бесплатное стороннее приложение Man Reader. Открывает окно со списком слева от всех возможных man-страниц. Когда вы выбираете один, он печатает содержимое в средней панели. Довольно мило
18:30

Ответы:

25

Вы можете pbcopyвставить обычный текст в буфер обмена , вставив в него , чтобы вставить куда угодно, как обычно.

man ssh | col -b | pbcopy

или эквивалент

man -P "col -b | pbcopy" ssh

последний из которых лучше, если вы хотите использовать его в качестве псевдонима, например mancp ssh, учитывая:

alias mancp='man -P "col -b | pbcopy"'

Существуют методы перехода к HTML / PDF: можно ли преобразовать man-страницы в формат html и / или pdf?


Если вам нужен только более приятный опыт чтения, вы можете щелкнуть правой кнопкой мыши по выбору команды и открыть ее справочную страницу в виде отдельного окна / вкладки с обычной прокруткой и ⌘F find.

Приятное чтение

Вы можете настроить то, как это выглядит, в окне «Настройки терминала» → «Профили» в разделе «Страница руководства», который является одним из существующих профилей по умолчанию.
Это включает в себя семейство и размер шрифта (также см. Меню «Вид») и цвета фона / переднего плана.

Настройки профиля страницы Man

Grg
источник
2
Правый клик для справочной страницы не работает с iTerm. На моей машине это работает как бы с терминалом. Окно мелькнуло, наверное, 10 раз в секунду. Я мог остановить это, нажав, но я не знал, где я
нажимал
@jmh Кажется, что это ошибка Мохаве, эта мерцание, есть и здесь
nohillside
1
pbcopyи pbpasteдве из величайших утилит, доступных на Macos.
Кристофер Шульц
1
Благодарность! Все ответы информативны и полезны, но я должен был принять этот. man ssh | col -b | pbcopyРешение непосредственно касается специфики моего вопроса. А затем, как глазурь на торте, встроенный в Terminal.app ридер man-страниц превосходит его для простоты использования.
Василий Бурк
Полезное расширение вашего решения может также включать ширину столбца и / или открытие его непосредственно в выбранном текстовом редакторе, например: MANWIDTH=80 MANPAGER="col -bx" man tmutil | open -fa "TextMate"
Asmus
13

Если вы хотите прочитать справочную страницу в Preview, красиво отформатированную в формате PDF, вы можете запустить

man -t ssh | open -f -a Preview

Или

man ssh | col -b | open -f -e

открыть текстовую версию в TextEdit.

Nohillside
источник
6

Передайте стандартный вывод рабочей manкоманды встроенной colутилите. Запустите следующую командную строку:

man ssh | col -b > ssh.txt

Нимеш Нима
источник
@BasilBourque Я также нашел эту замечательную статью.
Нимеш Нима
4

Лучший опыт чтения для этих задач достигается при использовании специального приложения для этого.

Два кандидата:

AquaLess

AquaLess - это текстовый пейджер для Mac OS X. Он позволяет вам просматривать простые текстовые файлы и, что более важно, выводить текст из инструментов командной строки Unix. AquaLess является заменой Cocoa для команды less, которая ограничена окном терминала. AquaLess открывает отдельное окно для каждого текста, поэтому вы можете продолжать работать в терминале, пока читаете.

Или ManOpen

ManOpen - это приложение MacOS X GUI для просмотра страниц справочника Unix, которые являются стандартной документацией для программ командной строки Unix, библиотек программистов и другой системной информации. Он может открывать файлы напрямую или получать заголовки, и в этом случае он будет отображать вывод программы командной строки `man '. Также предоставляется интерфейс apropos, который представляет собой быстрый поиск в базах данных справочной страницы. Службы предоставляются другим приложениям для открытия выбранных файлов / заголовков или выполнения поиска с использованием выбранного текста. ManOpen может быть полезен для открытия страницы руководства без перехода к командной строке, просмотра и поиска по длинным и сложным страницам руководства или просто для их распечатки.

Также включен инструмент командной строки `openman ', похожий на man, за исключением того, что он отображает страницы man в ManOpen.app вместо непосредственно в терминале.

Или читать эти страницы в Safari? Тогда иди Бвана

Загрузите Bwana и поместите его в папку с приложениями. Затем, даже не запуская его, вы можете начать просмотр страниц справочника Unix с помощью браузера. Просто введите "man:", а затем страницу руководства, которую вы ищете, в поле URL вашего браузера. Нажмите Enter и позвольте Бване сделать все остальное.

Страницы руководства, сгенерированные Bwana, просты и понятны. Мы просто добавили немного цвета, несколько смелых заголовков и немного его почистили, чтобы они не мешали глазу. На самом деле, Бвана очень проста - мы не можем сказать об этом больше. Так что просто загрузите Bwana сейчас, чтобы увидеть, насколько легко он интегрируется с вашим браузером и какая разница при просмотре man-страниц.

Затем вы можете построить для него функцию оболочки следующим образом:

function sman
    open -a Bwana man:$1
end

Для полноты картины: если у вас установлен X11, то у вас также есть xman.

Другими кандидатами могут быть Man Reader ($) , Manpager , Manpower ($) , Man Viewer .

LаngLаngС
источник
3

Зачем делать вещи сложнее, чем они?

https://man.openbsd.org/ssh

Поскольку вы можете писать здесь, у вас, очевидно, есть доступ к Интернету.

Если вы немного гуглите, вы, вероятно, сможете найти версии, отформатированные по-разному, например, pdf или около того.

децибел
источник
4
+1 за прагматизм, хотя теперь вы должны выяснить, какую версию справочной страницы вы ищете, иногда (для различных инструментов, где аргументы командной строки различны, например, в Linux и BSD, или где вещи сильно изменились между версиями )
пушистый
и в дополнение к комментариям @ fluffy, это не будет работать для любых инструментов macOS, которых существует множество, например, tmutil для Time Machine.
grg
1
@grg Да , это делает ss64.com/osx/tmutil.html
дб
1
Это другой веб-сайт, вы попали на него, выполнив поиск по вашей ссылке в сообщении или только в Google? Я знаю, что в Интернете есть множество справочных страниц, включая собственную справку Apple для разработчиков, которая действительно содержит справочную страницу tmutil, но тогда этот ответ становится не более чем «Google it»?
grg
@grg Я получил это от Google. Да, но цель этого вопроса состояла в том, чтобы упростить чтение man-страниц, и веб-страницы являются хорошим способом достижения этой цели.
дб
2

Если вам нравится, что у вас есть копии ваших страниц справочника в формате PDF , вот функция, которую я добавил в свой .bash_profileфайл для создания PDF каждой команды BSD, для которой я проверю страницу справочника :

manp () 
{ 
    docDir="$HOME/Documents/BSD Commands"
    [[ ! -d $docDir ]] && mkdir -p "$docDir"
    if [[ ! -f $docDir/$1.pdf ]]; then
        man -t "$1" | pstopdf -i -o "$docDir/$1.pdf"
        open "$docDir/$1.pdf"
    else
        open "$docDir/$1.pdf"
    fi
}

Так, в терминале , набрав , например , manp bashвместо того , чтобы man bashв формате PDF будет создаваться, если он еще не был, а затем открыл приложение зарегистрировано в ручки PDF документов. По умолчанию используется предварительный просмотр , однако в моей системе он настроен на использование Skim , поскольку его функции поиска лучше, чем Preview, и фактически он найдет строку поиска, когда Preview просто не будет.

Обратите внимание, что при первом использовании функции она перечислит некоторые шрифты в выводе в терминале , однако это однократное перечисление шрифтов.

Хорошая вещь о копиях PDF - это поддерживает форматирование, то есть жирный шрифт и курсив и т. Д.


В качестве примечания, набрав только имя команды в Терминале, затем щелкните правой кнопкой мыши по ней и выберите « Открыть man-страницу» , отобразит ее в полностью прокручиваемом и доступном для поиска окне « Терминал» , что гораздо лучше, чем, например, вводить, например man bash.

user3439894
источник