it-swarm-pt.tech

Como envio stdin para a área de transferência?

Existe funcionalidade no unix que permite o seguinte:

echo "Some Text" | copy-to-clipboard
45
Stefan

Existem algumas ferramentas capazes de gravar na área de transferência; Eu uso xsel . É preciso sinalizadores para gravar na seleção X principal (-p), seleção secundária (-s) ou área de transferência (-b). Passando -i dirá para ler a partir de stdin, então você deseja:

$ echo "Some Text" | xsel -i -b
35
Michael Mrozek

Usando xclip, como o @Nicolas sugeriu, se você quiser colar posteriormente o conteúdo da área de transferência, como Ctrl + V, poderá usá-lo desta maneira:

$ echo "Some Text" | xclip -selection clipboard
12
danidemi

você pode usar xsel

xsel < file 
9
jamespo

No Mac OS X, existem os adoráveis ​​comandos pbcopy e pbpaste que são muito úteis :)

7
cwd

O mais simples é provavelmente xclip:

$ echo "Some Text" | xclip

Em seguida, cole usando o botão do meio do mouse.

Como xsel, geralmente não é instalado por padrão, portanto, você pode precisar instalá-lo (Sudo apt-get install xclip no Debian/Ubuntu).

0
Nicolas Raoul

xclip é um bom caminho a seguir, conforme respondido por @Nicolas Raoul, mas ao canalizar qualquer coisa que contenha uma nova linha na área de transferência, como pwd, a nova linha também é copiada. Em algumas situações, pode ser desejado, mas a maioria não quer a nova linha.

A solução é:

echo -n $(pwd) | xclip -selection clipboard

(o -n remove a nova linha do argumento ecoado

ou:

printf %s $(pwd) | xclip -selection clipboard

O "" Em torno de $(pwd) pode ser necessário, mas funciona com e sem no ubuntu com bash.

0
calocedrus