xclipで複数の選択をターゲットにする方法


11

テキストをクリップボードにコピーするとき、xclipはいくつかの選択ターゲットを提供します:

 -selection
    specify which X selection to use, options are:
    "primary" to use XA_PRIMARY (default), 
    "secondary" for XA_SECONDARY 
    "clipboard" for XA_CLIPBOARD

複数の選択をターゲットにする方法はありますか?

次のオプションを試しました

  1. echo "Hello world" | xclip -i -selection primary -selection clipboard
  2. echo "Hello world" | xclip -i selection primary | xclip -i selection clipboard
  3. echo "Hello world" | xclip -i selection primary,clipboard

しかし、どれもうまくいきませんでした。

回答:


16

次のオプションを試しました

echo "Hello world" | xclip -i selection primary | xclip -i selection clipboard  

あなたは本当にそこにいました... 最初のコマンドで
使用する-fxclip、テキストがstdoutに出力され、2番目のxclipコマンドにパイプすることができます。

echo "Hello World" | xclip -i -sel p -f | xclip -i -sel c

からman xclip

-f, -filter
            when xclip is invoked in the in mode with output level set to
            silent (the defaults), the filter option will cause xclip to print
            the text piped to standard in back to standard out unmodified

ありがとう!私はこの解決策を受け入れています:1)xclipの興味深い機能について通知します。2)パイプxclipコマンドを使用して非常に便利です。3)奇妙な理由で、これがバインドの実験で実用的なソリューションを提供する唯一の回答copy-pipeですtmux(これがこの質問のきっかけとなりました)
Amelio Vazquez-Reina

2
あなたのディストリビューションがxselの代替を提供しているならxclip、あなたは使うことができますecho 'Hello World' | xsel -i -p && xsel -o -p | xsel -i -b。これは、フィルターオプションxclipxselないために比べて少し異なり、効率が落ちます。しかし、行き詰まっているxsel場合、これは問題を解決する方法です。
starfry 2017

5

私はを使用していないためxclip、これをネイティブで実行する方法があるかもしれません。いずれにせよ、これはあなたのシェルがbash

echo "Hello world" | tee >(xclip -i -selection primary) >(xclip -i -selection clipboard) >/dev/null

>()プロセス置換の形式です。bashそれぞれを、括弧内のプログラムの標準入力に接続されているファイル記述子へのパスに置き換えます。


ありがとう!その構文も互換性があるかどうか知っていますzshか?
Amelio Vazquez-Reina

@ user815423426私の知る限り、そうです。
Chris Down

私は私のzshでここでテストしましたが、それは魅力のように機能します!
SergioAraujo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.