如果您將資料複製到剪貼簿

如果您將資料複製到剪貼簿

我的剪貼簿中有文字。我想在終端機中將其捕獲到另一個命令中。

確切的用例是網站上以文字顯示的 PEM 編碼的 X509 證書 ( -----BEGIN CERTIFICATE----- ...)。我想選擇它,複製它,然後將其放入終端並透過管道傳輸 OpenSSL 的x509實用程式來轉儲憑證。

一隻貓如何將剪貼簿上的文字輸入終端機? (如果可能的話,我想同時使用 Linux 和 OS X,因為我兩者都使用)。

答案1

對於 OS X,pbpastepbcopy執行您想要的操作 - 分別使用 stdin/stdout 進行貼上和複製。來源

對於 X(如 X11/Xorg),有xclip.可以透過參數選擇將輸出寫入stdout -out來源

答案2

關於xclip使用,我發現這很有用 - 在網上找到的。

--8<-- 剪貼簿 --

#!/bin/bash
# 用法:someapp | Clipboard # 將某個應用程式的輸出傳輸到剪貼簿
# 剪貼簿 | someapp # 將剪貼簿的內容透過管道傳輸到 someapp 中
#

if 指令 -v xclip 1>/dev/null;然後
    如果 [[ -p /dev/stdin ]] ;然後
        # 標準輸入是一個管道
        # 標準輸入 -> 剪貼簿
        xclip -i -選擇剪貼簿
    別的
        # 標準輸入不是管道
        # 剪貼簿 -> 標準輸出
        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 | ...

相關內容