martes, 15 de diciembre de 2015

Manejo del portapapeles desde la línea de comandos

El portapapeles está muy bien para copiar y pegar texto con el ratón, pero a veces nos puede interesar manipularlo de forma no interactiva, desde la línea de comandos o desde nuestros scripts.

Dos comandos especialmente populares en el mundo Mac permiten esto: pbcopy y pbpaste. Las iniciales "pb" significan "pasteboard", que es como llaman al portapapeles en los Mac, mientras que en Linux y Windows suele usarse más el término "clipboard", aunque en el fondo esto es cuestión de caprichos.

Aunque pbcopy y pbpaste sean los más famosos, los otros sistemas operativos también tienen comandos que podemos utilizar para lograr lo mismo. En Windows, tenemos el comando clip.exe (aunque me parece que sólo funciona para copiar, pero el pegado ha de ser interactivo). 



En Linux tenemos bastantes más opciones, mi elección ha sido el comando xsel. No viene en la distribución estándar, pero se instala fácilmente con 

$ sudo apt-get install xsel 

Si investigais un poco encontraréis otras herramientas (xclip...), con multitud de opciones.

De todas formas, tan populares se han hecho los nombres originales del mundo Mac que yo he optado por seguir el consejo que dan en muchas páginas web: hacer un alias para esos comandos. Para ello, en el fichero de configuración $HOME/.basrc no hay más que añadir estas dos líneas:

alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

Aquí podéis ver un ejemplo para copiar un calendario al portapeles desde la línea de comandos y pegarlo luego tanto en la línea de comandos como en un editor de texto:


Para sacarle partido a fondo, ya se sabe:

$ man xsel | less
 
Ale, a copiar y pegar y copiar y pegar y copiar y pegar.

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...