在Mac/OSX上有复制到剪贴板的函数吗?

16
3个回答

20

base::connections的帮助文件中可以得知:

Mac OS X用户可以使用pipe("pbpaste")和pipe("pbcopy", "w")来读取和写入该系统的剪贴板。


1
我对R一无所知,但我很好奇为什么writeClipboardreadClipboard不是在OS X上实现的,如果它们是R标准库的一部分。 - bames53
@bames53 这些功能似乎是仅适用于 Windows 的扩展。它们实际上没有在在线手册中记录 - 帮助文件实际上是关于从 X11 剪贴板读取的,这似乎是 R 默认能够执行的唯一操作。 - millimoose
我没有发现这个答案有帮助。我认为这个答案更有指导意义:https://dev59.com/YGUq5IYBdhLWcg3wYvZ6?lq=1 - Hugh

8

如果你已经在引用Carl的回答,为什么不将这个作为评论添加呢? - millimoose
2
那是我的错误。我寻找回复选项,但没有看到它。对此感到抱歉 :) - Rob
3
因为某种原因,stackoverflow 的特性是在您获得50声望之前无法留下评论。http://stackoverflow.com/privileges/comment。出于同情,我给 Rob 点了一个赞。 - GSee

3

对于在 Mac 上进行通用剪贴板读取,语法应该是:

indat<-scan(pipe("pbpaste"),what=character(),...)

这里的...只是一个占位符,请查阅scan命令来了解众多选项(默认情况下,scan期望在what参数中使用double变量;针对通用复制,character可能是最安全的选择,或者您可以根据具体情况选择适当的选项)。
同样地,若要粘贴到Mac剪贴板中,通用的Mac语法为:
outdat<-"Hi There!"
cat(outdat, file=pipe("pbcopy","w"), ...)

请注意,几乎相同的语法在Windows和Linux中也可以使用;您只需要用通用连接名称 "clipboard" 替换 pipe 调用即可。
上面提到的 Kmisc 包函数仅适用于数据框架和表格数据,而不适用于通用复制/粘贴。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接