Creé una herramienta para Linux/OSX/Cygwin que es similar a algunas de estas otras pero ligeramente única. Lo llamo cb
y se puede encontrar en este github gist.
En esa esencia, demuestro cómo copiar y pegar a través de la línea de comandos usando Linux, macOS y Cygwin.
Linux
_copy(){
cat | xclip -selection clipboard
}
_paste(){
xclip -selection clipboard -o
}
macOS
_copy(){
cat | pbcopy
}
_paste(){
pbpaste
}
Cygwin
_copy(){
cat > /dev/clipboard
}
_paste(){
cat /dev/clipboard
}
Nota:originalmente solo tenía la intención de mencionar esto en mi comentario a la respuesta de Bob Enohp. Pero luego me di cuenta de que debería agregar un README a mi esencia. Dado que el editor de Gist no ofrece una vista previa de Markdown, utilicé el cuadro de respuesta aquí y después de copiarlo/pegarlo en mi pensamiento de Gist, "También podría enviar la respuesta". Si desea hablar sobre la funcionalidad/errores probablemente sería mejor hacer eso en los comentarios de la esencia en github.
cb
Una camiseta a prueba de fugas para el portapapeles
Este script sigue el modelo de tee
(ver man tee
).
Es como sus comandos normales de copiar y pegar, pero unificado y capaz de detectar cuándo desea que sea encadenable
Ejemplos
Copiar
$ date | cb
# clipboard contains: Tue Jan 24 23:00:00 EST 2017
Pegar
# clipboard retained from the previous block
$ cb
Tue Jan 24 23:00:00 EST 2017
$ cb | cat
Tue Jan 24 23:00:00 EST 2017
$ cb > foo
$ cat foo
Tue Jan 24 23:00:00 EST 2017
Encadenamiento
$ date | cb | tee updates.log
Tue Jan 24 23:11:11 EST 2017
$ cat updates.log
Tue Jan 24 23:11:11 EST 2017
# clipboard contains: Tue Jan 24 23:11:11 EST 2017
Copiar mediante redirección de archivo
(cronológicamente, tenía sentido hacer una demostración de esto al final)
# clipboard retained from the previous block
$ cb < foo
$ cb
Tue Jan 24 23:00:00 EST 2017
# note the minutes and seconds changed from 11 back to 00
Siempre quise hacer esto y encontré una manera agradable y fácil de hacerlo. Anoté el procedimiento completo en caso de que alguien más lo necesite.
Primero instala un programa de 16 kB llamado xclip
:
sudo apt-get install xclip
Luego puede canalizar la salida a xclip
para ser copiado en el portapapeles:
cat file | xclip
Para pegar el texto que acabas de copiar, debes usar:
xclip -o
Para simplificar la vida, puede configurar un alias en su archivo .bashrc como hice yo:
alias "c=xclip"
alias "v=xclip -o"
Para ver cuán útil es esto, imagina que quiero abrir mi ruta actual en una nueva ventana de terminal (puede haber otras formas de hacerlo como Ctrl +T en algunos sistemas, pero esto es solo con fines ilustrativos):
Terminal 1:
pwd | c
Terminal 2:
cd `v`
Observe el ` `
alrededor de v
. Esto ejecuta v
primero como un comando y luego lo sustituye en el lugar por cd
usar.
Solo copia el contenido al X
portapapeles
cat file | xclip
Si desea pegar en otro lugar que no sea un X
aplicación, prueba esta:
cat file | xclip -selection clipboard
En OS X, usa pbcopy
; pbpaste
va en la dirección opuesta.
pbcopy < .ssh/id_rsa.pub