如果您已将数据复制到剪贴板

如果您已将数据复制到剪贴板

我的剪贴板中有文本。我想在终端中将其 cat 并传输到另一个命令中。

确切的用例是网站上以文本 ( -----BEGIN CERTIFICATE----- ...) 呈现的 PEM 编码 X509 证书。我想选择它,复制它,然后将其 cat 到终端并将其通过管道传输到 OpenSSL 的x509实用程序以转储证书。

如何将剪贴板上的 cat 文本放入终端?(如果可能的话,我想在 Linux 和 OS X 上都这样做,因为我都用过)。

答案1

对于 OS X,pbpaste执行pbcopy您想要的操作 — 分别使用 stdin/stdout 粘贴和复制。来源

对于 X(如 X11/Xorg),有xclip。可以使用参数选择将输出写入 stdout -out来源

答案2

关于 xclip使用,我发现这很有用 - 在网上某处找到的。

--8<-- 剪贴板 --

/bin/bash #!/bin/bash
# 用法:someapp | clipboard # 将 someapp 的输出导入剪贴板
# clipboard | someapp # 将剪贴板的内容导入到 someapp 中
#

如果命令 -v xclip 1>/dev/null; 那么
    如果 [[ -p /dev/stdin ]] ; 那么
        # stdin 是一个管道
        # 标准输入 -> 剪贴板
        xclip -i -选择剪贴板
    别的
        # stdin 不是管道
        # 剪贴板 -> 标准输出
        xclip -o -选择剪贴板
别的
    echo "记得安装 xclip"

答案3

如果您已将数据复制到剪贴板

xclip可用于将剪贴板的内容打印到标准输出,以便您可以将其作为管道进行处理 xclip -o -selection clipboard | ...

或者

将其保存到变量中echo

cert='-----BEGIN CERTIFICATE----- ...'; 
echo $cert | ...`

如果数据在文件中

众所周知,cat做这项工作。
cat /path/to/file | ...

如果数据在网络上

wget可用于 cat 联机文件。假设它是文本文件。
wget -O- www.site.com/path/to/file.txt | ...

相关内容