comando cygwin para copiar al portapapeles de Windows


82

Veo aquí:

http://www.pgrs.net/2008/1/11/command-line-clipboard-access

que hay una forma en linux y osx de copiar al portapapeles desde la línea de comandos. Así que ejecuté mi cygwin setup.exe, pero no pude encontrar el paquete xsel. Supongo que tal vez este paquete no se ha portado a Windows. Parece que hay una herramienta para hacerlo en Windows:

http://www.labnol.org/software/tutorials/copy-dos-command-line-output-clipboard-clip-exe/2506/

Supongo que intentaré eso, pero mientras tanto, pensé que preguntaría si alguien ha encontrado una buena solución.

Respuestas:


66

En la página que vinculó, hay comentarios que sugieren cómo hacerlo en Windows:

En Windows, Cygwin viene con getclip y putclip que hacen el mismo trabajo.


16
Si no los tiene disponibles, deberá instalar el cygutils-extrapaquete ( src ). Curiosamente, Babun omite este paquete por defecto.
chrnola

159

Cygwin viene con un archivo de dispositivo especial llamado /dev/clipboard:

echo foobar > /dev/clipboard  # Puts "foobar\n" on the clipboard
cat /dev/clipboard  # Pastes clipboard to stdout

3
esto también funciona, pero supongo que no puedo aceptar 2 respuestas diferentes
andersonbd1

5
Esto es mejor que getclip / putclip, ya que no requiere la instalación del paquete.
Stabledog

8
La ventaja de getclip / putclip sobre / dev / clipboard es que los primeros tienen opciones para convertir entre finales de línea unix y dos.
esquifit

8
La ventaja de / dev / clipboard es que admite UTF8, mientras que getclip / putclip no.
Maximilian Hils

2
Y es fácil de crear putclipcontener cat - >/dev/clipboardy getclipcontener cat /dev/clipboard, como alias o funciones o scripts, lo que más te guste. Puede usar cualquier par de nombres de script, por supuesto. Los Mac tienen pbcopyy pbpastepara poner y obtener información del tablero (portapapeles), por ejemplo.
Jonathan Leffler

28

Secundo la respuesta anterior

Para enviar texto al portapapeles de Windows

putclip < foo.txt

Para canalizar a un archivo cualquier texto que esté en el portapapeles de Windows

getclip > foo.txt

@Adrian Gracias por notar mi inútil uso de gato. Tiendo a abusar de los gatos en lugar de solo pipas. Actualicé mi respuesta.

25

getclip / putclip se encuentra en el paquete cygutils-extra.


12

que tal solo

clip < file.extension

acabo de probar mi clave ssh


1
clip.exese introdujo en Windows Vista, así que sí, también puede usarlo, pero las opciones son limitadas.
RobSiklos


2

No exactamente Ditto, pero aquí hay un registrador de clibboard.

#!/usr/bin/ksh
while true
do
    if [[ "$(</dev/clipboard)" = "${LastClip}" ]]
    then
            sleep 2
    else
            LastClip="$(</dev/clipboard)"
            echo "$(</dev/clipboard)" >> $HOME/cliplog.txt
            sleep 1
    fi
done
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.