【发布时间】:2012-01-27 15:25:47
【问题描述】:
我在R 中看到了Windows function to copy to the clipboard。 Mac OSX 是否有等效功能?
【问题讨论】:
我在R 中看到了Windows function to copy to the clipboard。 Mac OSX 是否有等效功能?
【问题讨论】:
来自base::connections的帮助文件:
Mac OS X 用户可以使用 pipe("pbpaste") 和 pipe("pbcopy", "w") 来读取和写入该系统的剪贴板。
【讨论】:
writeClipboard 和 readClipboard 是 R 标准库的一部分,为什么它们不会在 OS X 上实现。
是的。卡尔完全正确。最好的方法是使用 pbpaste/pbcopy。
这里有一篇好文章详细介绍:http://langui.sh/2010/11/14/pbpaste-pbcopy-in-mac-os-x-or-terminal-clipboard-fun/
罗伯
10/17/2013 - 更新:从 R 3.0 开始,kmisc 包包含用于多平台剪贴板使用的 read.cb() 函数。此处引用@agstudy 的回答:https://stackoverflow.com/a/14547293/168689
【讨论】:
对于 Mac 中的通用剪贴板读取,语法为:
indat<-scan(pipe("pbpaste"),what=character(),...)
这里的... 只是一个占位符,查看scan 帮助以查看非常您有许多选项(scan 默认是期待double what 参数中的变量;character 对于通用副本可能是最安全的,或者您可以选择适合您情况的任何内容。
同样,对于粘贴到 Mac 剪贴板,通用的 Mac 语法是
outdat<-"Hi There!"
cat(outdat, file=pipe("pbcopy","w"), ...)
请注意,几乎相同的语法应该也适用于 Windows 和 Linux;您应该将pipe 调用替换为通用连接名称"clipboard"。
上面提到的Kmisc包功能只适用于数据框和表格数据,不适用于通用复制/粘贴。
【讨论】: