データをクリップボードにコピーした場合

データをクリップボードにコピーした場合

クリップボードにテキストがあります。それをターミナルで cat して、別のコマンドにパイプしたいと思います。

正確な使用例は、Web サイト上のテキスト ( -----BEGIN CERTIFICATE----- ...) として表示される PEM エンコードされた X509 証明書です。これを選択してコピーし、ターミナルに cat して、OpenSSL のx509ユーティリティにパイプして証明書をダンプします。

クリップボード上のテキストをターミナルに転送するにはどうすればいいですか? (可能であれば、Linux と OS X の両方を使用しているので、両方で実行したいと思います)。

答え1

OS X の場合は、pbpasteそれぞれpbcopystdin/stdout で貼り付けとコピーを実行します。ソース

X (X11/Xorg など) の場合、 がありますxclip。出力を stdout に書き込むかどうかは-out、 パラメータで選択できます。ソース

答え2

xclipに関して使用ネットのどこかで見つけたのですが、これが便利だと思いました。

--8<-- クリップボード --

#!/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 | ...

関連情報