Como segmentar várias seleções com xclip

8

Ao copiar texto para a área de transferência, o xclip fornece vários alvos de seleção:

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

Existe uma maneira de segmentar várias seleções?

Eu tentei as seguintes opções

  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

mas nenhum deles funcionou.

    
por Amelio Vazquez-Reina 25.03.2013 / 16:48

2 respostas

12

I have tried the following options

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

Você estava realmente perto de lá ...
Se você usar -f com o primeiro comando xclip , ele irá imprimir o texto de volta para stdout e você poderá canalizá-lo para o segundo comando xclip :

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

De 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
    
por 25.03.2013 / 20:02
4

Eu não uso xclip , então pode haver uma maneira de fazer isso nativamente, o que eu não conheço. Em qualquer caso, isso deve funcionar supondo que seu shell seja bash :

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

>() é uma forma de substituição de processo. bash substitui cada um com o caminho para um descritor de arquivo que está conectado à entrada padrão do programa dentro dos parênteses.

    
por 25.03.2013 / 17:13