it-swarm-es.tech

¿Cómo envío stdin al portapapeles?

¿Hay funcionalidad en Unix que permita lo siguiente:

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

Hay un par de herramientas capaces de escribir en el portapapeles; Yo uso xsel . Se necesitan banderas para escribir en la selección X principal (-p), selección secundaria (-s) o portapapeles (-b). Pasándolo -i le dirá que lea de stdin, por lo que desea:

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

Usando xclip, como sugirió @Nicolas, si luego desea pegar el contenido del portapapeles, como usar Ctrl + V, puede usarlo de esta manera:

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

puedes usar xsel

xsel < file 
9
jamespo

En Mac OS X existen los encantadores comandos pbcopy y pbpaste que son muy útiles :)

7
cwd

El más simple es probablemente xclip:

$ echo "Some Text" | xclip

Luego pegue usando el botón central de su mouse.

Al igual que xsel, por lo general no está instalado de manera predeterminada, por lo que es posible que deba instalarlo (Sudo apt-get install xclip en Debian/Ubuntu).

0
Nicolas Raoul

xclip es una buena manera de responder a @Nicolas Raoul, pero al canalizar cualquier cosa que contenga una nueva línea en el portapapeles, como pwd, la nueva línea también se copia. En algunas situaciones puede desearse, pero la mayoría no quiere la nueva línea.

La solución es:

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

(-n elimina la nueva línea del argumento repetido)

o:

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

El "" Alrededor de $(pwd) puede ser requerido pero funciona con y sin ubuntu con bash.

0
calocedrus