使用xclip
您只需反转一些选项和功能即可。
xclip命令的选项需要更改为output,函数write.table需要更改为read.table。
例如:
read.table(pipe("xclip -selection clipboard -o",open="r"))
使用文件()
您可以使用 Anando 提供的解决方案,但在该解决方案的当前描述中遗漏了一些细节。
命令read.table("clipboard")
正在有效地使用该命令.Internal(file(description, open, blocking, encoding, method, raw)
它分为几个选项
- “X11_primary”(selected text)
- “X11_secondary”(某些辅助复制字段仅由某些程序使用)
- “X11_剪贴板”(copied text)
Ubuntu 16.04 以及可能更通用的 Linu:x 的情况
我无法在源代码中轻松找到它,但根据行为,“剪贴板”选项似乎默认为“X11_primary”(至少它在 Ubuntu 16.04 中具有相同的行为)。
如果你使用read.delim("X11_clipboard")
代替read.delim("clipboard")
然后您将获得复制的文本而不是选定的文本。
请注意,使用 X11_clipboard 时可能会出现错误,例如:
> read.table("X11_clipboard")
Error in file(file, "rt") :
X11 clipboard selection is not supported on this system
在这种情况下,您必须在您的系统(即操作系统,例如 Ubuntu)上安装 Xmu 头文件。我在我的例子中遇到了这个错误并通过使用解决了它
sudo apt-get install libxmu-dev
sudo apt-get install xorg-dev
不知道两个谁解决了。但是在此之后,当我从源代码重新编译 R-base 时,然后read.table("X11_clipboard")
工作了。 (我无法通过从 Ubuntu 存储库安装来使其工作)