我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:

cat file | clipboard

当前回答

这是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文件中调用它

其他回答

把这个添加到~/.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

我在这里创建了一个工具

取决于xclip包

在OS X上,使用pbcopy;Pbpaste的方向相反。

pbcopy < .ssh/id_rsa.pub

我使用Parcellite和xsel复制上次提交消息从git到我的剪贴板管理器(由于某种原因xclip不工作):

$ git log -1 --pretty=%B | xsel -i -b

我写了这个小脚本,它把猜测工作从复制/粘贴命令中去掉。

该脚本的Linux版本依赖于系统中已经安装的xclip。这个脚本叫做剪贴板。

#!/bin/bash
# Linux version
# Use this script to pipe in/out of the clipboard
#
# Usage: someapp | clipboard     # Pipe someapp's output into clipboard
#        clipboard | someapp     # Pipe clipboard's content into someapp
#

if command -v xclip 1>/dev/null; then
    if [[ -p /dev/stdin ]] ; then
        # stdin is a pipe
        # stdin -> clipboard
        xclip -i -selection clipboard
    else
        # stdin is not a pipe
        # clipboard -> stdout
        xclip -o -selection clipboard
    fi
else
    echo "Remember to install xclip"
fi

该脚本的OS X版本依赖于pbcopy和pbpaste,它们已预安装在所有mac电脑上。

#!/bin/bash
# OS X version
# Use this script to pipe in/out of the clipboard
#
# Usage: someapp | clipboard     # Pipe someapp's output into clipboard
#        clipboard | someapp     # Pipe clipboard's content into someapp
#

if [[ -p /dev/stdin ]] ; then
    # stdin is a pipe
    # stdin -> clipboard
    pbcopy
else
    # stdin is not a pipe
    # clipboard -> stdout
    pbpaste
fi

使用脚本非常简单,因为您只需像这两个示例中所示的那样通过管道输入或输出剪贴板。

$ cat file | clipboard

$ clipboard | less