【发布时间】:2015-05-05 15:02:07
【问题描述】:
是否有等效的解决方案可以在 OS X 中抓取选定的文本,因为“xsel -o”适用于 Linux?
只需要当前选择,以便我可以在 shell 脚本中使用文本。
干杯, 埃里克
【问题讨论】:
标签: linux macos shell terminal
是否有等效的解决方案可以在 OS X 中抓取选定的文本,因为“xsel -o”适用于 Linux?
只需要当前选择,以便我可以在 shell 脚本中使用文本。
干杯, 埃里克
【问题讨论】:
标签: linux macos shell terminal
您可能可以在 MacOS 上安装 xsel。 (更新:根据 Arkku 的评论,这只有在 X11 服务器运行并同步到 OS X 粘贴板时才有效。)
如果没有,Google 会快速搜索 pbcopy / pbpaste,这显然是预装的。
【讨论】:
xsel,但它只适用于运行 X11 服务器并同步到 OS X 粘贴板的人......所以pbpaste 是正确答案。跨度>
Linux 工具 xsel 不是必需的,因为 pbcopy 和 pbpaste 是提供此功能的 Apple 命令行实用程序,并且默认安装在 macOS 上。
来自手册页 (man pbcopy):
pbcopy, pbpaste - 提供复制和粘贴到粘贴板( 剪贴板)从命令行
pbcopy 接受标准输入并将其放置在指定的粘贴板中。如果没有指定粘贴板,一般 粘贴板将是 默认使用。输入作为纯文本数据放置在粘贴板中,除非它以 Encapsulated PostScript 开头 (EPS) 文件 标头或富文本格式 (RTF) 文件标头,在这种情况下,它作为这些数据类型之一放置在粘贴板中。
pbpaste 从粘贴板上删除数据并将其写入标准输出。它通常首先查找纯文本数据 在里面 粘贴板并将其写入标准输出;如果粘贴板中没有纯文本数据,它会查找 Encapsulated PostScript; 如果不 EPS 存在,它寻找富文本。如果粘贴板中不存在这些类型,则 pbpaste 不会产生任何输出。
要将 filename.txt 复制到剪贴板,请使用以下命令:
pbcopy < filename.txt
【讨论】: