我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:
cat file | clipboard
我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:
cat file | clipboard
当前回答
在OS X上,使用pbcopy;Pbpaste的方向相反。
pbcopy < .ssh/id_rsa.pub
其他回答
在OS X上,使用pbcopy;Pbpaste的方向相反。
pbcopy < .ssh/id_rsa.pub
只是为了覆盖一个边缘情况:),因为问题标题问(至少现在)如何将命令的输出直接复制到剪贴板。
我经常发现,在命令已经执行并且我不想或不能再次执行之后,复制命令的输出是很有用的。
对于这个场景,我们可以使用gdm或类似的鼠标实用程序并使用鼠标进行选择。apt-get安装gdm,然后右键单击或Cntrl+Shift+c和Cntrl+Shift+v组合在终端进行复制和粘贴
Or, which is the preferred method for me (as the mouse cannot select properly inside one pane when you have multiple panes side by side and you need to select more than one line), using tmux we can copy into the tmux buffer using the standard [ , space , move to select , enter or you can select a block of code. Also this is particularly useful when you are inside one of the lanes of the cli multiplexer like tmux AND you need to select a bunch of text, but not the line numbers (my vim setup renders line numbers)
在此之后,您可以使用命令:
tmux save-buffer - | xclip -i
当然,您可以将其命名为您喜欢的名称,或者直接绑定到tmux配置文件中
这只是给您一个概念性的答案,以覆盖这种不可能再次执行命令的边缘情况。如果您需要更具体的代码示例,请告诉我
干杯
这是Arch Linux用户的一个很好的解决方案。用pacman安装xsel,如下所示:
sudo pacman -S xsel
在~/中创建别名。Bashrc文件,比如:
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
用源代码重新加载终端:
source ~/.bashrc
像上面提到的那样使用它:
cat your_file.txt | pbcopy
供参考,在~/中填充所有别名是很好的做法。别名并在。bashrc文件中调用它
我使用Parcellite和xsel复制上次提交消息从git到我的剪贴板管理器(由于某种原因xclip不工作):
$ git log -1 --pretty=%B | xsel -i -b
我为Linux/OSX/Cygwin创建了一个工具,它与其他工具类似,但略有独特之处。我叫它cb,它可以在这个github gist中找到。
在这个要点上,我演示了如何使用Linux、macOS和Cygwin通过命令行进行复制和粘贴。
Linux
_copy(){
cat | xclip -selection clipboard
}
_paste(){
xclip -selection clipboard -o
}
操作系统
_copy(){
cat | pbcopy
}
_paste(){
pbpaste
}
Cygwin
_copy(){
cat > /dev/clipboard
}
_paste(){
cat /dev/clipboard
}
注:我最初只是打算在我对Bob Enohp的回答的评论中提到这一点。但后来我意识到我应该在我的主旨上加上一个自述。由于主旨编辑器不提供Markdown预览,我在这里使用了答案框,在复制/粘贴到我的主旨后,“我不妨提交答案。”如果你想讨论功能/bug,最好在github上的要点评论中这样做。
cb
剪贴板上的防漏t恤
这个脚本是模仿tee(参见man tee)的。
它就像普通的复制和粘贴命令一样,但是统一,并且能够感知你什么时候想要它是可链接的
例子
Copy
$ date | cb
# clipboard contains: Tue Jan 24 23:00:00 EST 2017
粘贴
# clipboard retained from the previous block
$ cb
Tue Jan 24 23:00:00 EST 2017
$ cb | cat
Tue Jan 24 23:00:00 EST 2017
$ cb > foo
$ cat foo
Tue Jan 24 23:00:00 EST 2017
链接
$ date | cb | tee updates.log
Tue Jan 24 23:11:11 EST 2017
$ cat updates.log
Tue Jan 24 23:11:11 EST 2017
# clipboard contains: Tue Jan 24 23:11:11 EST 2017
通过文件重定向复制
(在最后按时间顺序演示是有意义的)
# clipboard retained from the previous block
$ cb < foo
$ cb
Tue Jan 24 23:00:00 EST 2017
# note the minutes and seconds changed from 11 back to 00