从Terminal.app复制整个`man`页面的所有文本


20

我正在阅读一个很长的手册页(man ssh)。我想保存所有文本,以便在文本编辑器中更方便地阅读。

不幸的是,选择以下任一项

  • 编辑→全选→复制

  • Shell→将文本导出为......

导致只保存一个完整的文本屏幕,而不是所有滚动的文本。

如何提取整个man页面的文本?


有一个免费的第三方应用程序Man Reader。打开一个窗口,其中包含所有可能手册页左侧的列表。选择一个时,它会在中间窗格中打印内容。挺好的。
jmh

Answers:


25

您可以通过管道将纯文本推送到剪贴板pbcopy,以便像往常一样粘贴到任何位置。

man ssh | col -b | pbcopy

或同等学历

man -P "col -b | pbcopy" ssh

如果你想将它作为别名使用,后者更好,例如mancp ssh,给定:

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

有方法可以转到HTML / PDF:手册页可以转换为html和/或pdf格式吗?


如果它只是您所追求的更好的阅读体验,您可以右键单击选择的命令并将其手册页打开为单独的窗口/选项卡,并进行正常滚动和⌘F查找。

更好的阅读

您可以在“人员页面”配置文件下的“终端首选项”→“配置文件”中自定义此内容,该配置文件是要存在的默认配置文件之一。
这包括字体系列和大小(也可参见“视图”菜单)和背景/前景色。

手册页个人资料首选项


2
右键单击手册页不适用于iTerm。在我的机器上,它与终端有点合作。窗户闪烁,我猜是每秒10次。我可以通过点击停止它,但我不知道我在哪里点击...
jmh

@jmh似乎是一个莫哈韦虫,这个闪烁,也在这里
nohillside

1
pbcopy并且pbpaste是Macos上最好的两种实用工具。
克里斯托弗舒尔茨

1
谢谢!所有的答案都提供了丰富的信息,但我不得不接受这一点。该man ssh | col -b | pbcopy解决方案直接解决了我的问题的细节。然后,作为锦上添花,Terminal.app的内置手册阅读器胜过易用性。
Basil Bourque

您的解决方案的有用扩展还可以包括列宽,和/或直接在选择的文本编辑器中打开它,例如: MANWIDTH=80 MANPAGER="col -bx" man tmutil | open -fa "TextMate"
Asmus

13

如果您想阅读预览中的手册页,格式良好的PDF格式,您可以运行

man -t ssh | open -f -a Preview

要么

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

在TextEdit中打开文本版本。


6

将running man命令的标准输出传递给builtin col实用程序。运行以下命令行:

man ssh | col -b > ssh.txt


@BasilBourque我也发现了这篇精彩的文章。
Nimesh Neema

4

当使用专用应用程序时,可以实现这些任务的最佳阅读体验。

两位候选人:

AquaLess

AquaLess是Mac OS X的文本寻呼机。它允许您浏览纯文本文件 - 更重要的是 - 从Unix命令行工具输出文本。AquaLess是一个Cocoa替代less命令,它被限制在终端窗口。AquaLess为每个文本打开一个单独的窗口,因此您可以在阅读时继续在终端中工作。

或者ManOpen

ManOpen是用于查看Unix手册页的MacOS X GUI应用程序,它是Unix命令行程序,程序员库和其他系统信息的标准文档。它可以直接打开文件或给出标题,在这种情况下,它将显示`man'命令行程序的输出。还提供了apropos接口,其基本上是对手册页数据库的快速和脏搜索。将服务提供给其他应用程序以打开所选文件/标题或使用所选文本进行适当搜索。ManOpen可用于打开手册页而无需下载到命令行,浏览和搜索长而复杂的手册页,或仅用于打印它们。

还包括一个`openman'命令行工具,它类似于man,除了它将在ManOpen.app中显示手册页而不是直接显示在终端上。

或者在Safari中阅读这些页面?然后去bwana

下载Bwana并将其放入您的应用程序文件夹中。然后,即使没有运行它,您也可以使用浏览器开始查看Unix手册页。只需键入“man:”,然后在浏览器的URL字段中输入您要查找的手册页。点击进入,让Bwana完成其余的工作。

Bwana生成的手册页很简单而且非常重要。我们只是扔了一些颜色,一些大胆的标题并清理了一下,所以它们很容易就可以了。事实上,Bwana是如此简单 - 我们对此没什么可说的。所以现在就下载Bwana,看看它与浏览器的集成有多容易,以及它在查看手册页时有何不同。

然后,您可以为此构建一个shell函数:

function sman
    open -a Bwana man:$1
end

为了完整起见:如果您安装了X11,那么您也有xman

其他候选人可能是Man Reader($)ManpagerManpower($)Man Viewer


3

为什么要让事情变得更复杂?

https://man.openbsd.org/ssh

既然你可以在这里发帖,你显然可以访问互联网。

如果你稍微谷歌,你可能会发现以不同方式格式化的版本,例如,pdf左右。


4
+1实用主义虽然现在你必须弄清楚你正在寻找哪个版本的手册页,有时候(对于Linux和BSD之间命令行参数不同的各种工具,或者版本之间的变化很大) )
蓬松

除了@ fluffy的评论之外,这对于任何有足够数量的macOS工具都无效,例如Tmutil for Time Machine。
grg

1
@grg是的,它确实是ss64.com/osx/tmutil.html
db

1
这是一个不同的网站,您是通过搜索帖子中的链接还是只搜索Google来实现的?我知道网上有很多人工页面,包括苹果公司自己的开发者参考资料,确实包含了tmutil手册页,但是这个答案只不过是“Google it”?
grg

@grg我是从谷歌那里得到的。是的,但问题的目的是简化阅读手册页和网页是实现这一目标的好方法。
db

2

如果您喜欢手册页的PDF副本,这里是我添加到文件中的函数.bash_profile用于创建每个BSD 命令PDF我将查看手册页

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文档。在默认情况下预览,但是在我的系统,它被设置为使用脱脂,因为它的搜索功能是更好然后预览和事实上将搜索字符串时预览就不会。

请注意,第一次使用该函数时,它将枚举终端输出中的某些字体,但这是字体的一次枚举。

约的好处PDF副本是它保持格式,即粗体和斜体等。


作为旁注,只需在终端中键入命令名称然后右键单击它并选择打开手册页,将其显示在完全可滚动和可搜索的终端窗口中,这比输入例如更好。man bash

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.