我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:
cat file | clipboard
我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:
cat file | clipboard
当前回答
把这个添加到~/.bashrc:
# Now `cclip' copies and `clipp' pastes'
alias cclip='xclip -selection clipboard'
alias clipp='xclip -selection clipboard -o'
现在剪贴粘贴和剪贴复制-但你也可以做更花哨的东西: 剪切| sed 's/^/ /' |剪辑 ↑缩进您的剪贴板;适用于没有堆栈溢出{}按钮的站点
您可以通过运行以下命令添加它:
printf "\nalias clipp=\'xclip -selection c -o\'\n" >> ~/.bashrc
printf "\nalias cclip=\'xclip -selection c -i\'\n" >> ~/.bashrc
其他回答
基于之前的文章,我最终得到了以下轻量级的别名解决方案,可以添加到.bashrc:
if [ -n "$(type -P xclip)" ]
then
alias xclip='xclip -selection clipboard'
alias clipboard='if [ -p /dev/stdin ]; then xclip -in; fi; xclip -out'
fi
例子:
# Copy
$ date | clipboard
Sat Dec 29 14:12:57 PST 2018
# Paste
$ date
Sat Dec 29 14:12:57 PST 2018
# Chain
$ date | clipboard | wc
1 6 29
我为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
在安装了xclip的Linux下:
Xclip -选择剪贴板<文件
这是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文件中调用它
在OS X上,使用pbcopy;Pbpaste的方向相反。
pbcopy < .ssh/id_rsa.pub