cat texto del portapapeles en una terminal?

1

Tengo texto en el portapapeles. Quiero catarlo en una terminal, canalizarlo a otro comando.

El caso de uso exacto es un certificado X509 codificado PEM en un sitio web presentado como texto ( -----BEGIN CERTIFICATE----- ... ). Quiero seleccionarlo, copiarlo y luego incluirlo en un terminal y canalizarlo a OpenSSL x509 Utilidad para volcar el certificado.

¿Cómo se puede unir el texto del portapapeles al terminal? (Si es posible, me gustaría hacerlo con Linux y OS X ya que uso ambos).

jww
fuente
Dado que el portapapeles es algo específico del sistema operativo (bueno, más bien específico de GUI, pero aún así) no obtendrá una solución universal.
Daniel B

Respuestas:

3

Para OS X, pbpaste y pbcopy haz lo que quieras: pegar y copiar con stdin / stdout, respectivamente. Fuente

Para X (como en X11 / Xorg), hay xclip. La escritura de la salida a la salida estándar se puede seleccionar con el -out parámetro. Fuente

Daniel B
fuente
2

Con respecto a xclip utilizar , He encontrado que esto es útil, que se encuentra en algún lugar de la red.

--8 & lt; - portapapeles -

#!/bin/bash
# Usage: someapp | clipboard     # Pipe someapp's output into clipboard
#        clipboard | someapp     # Pipe clipboard's content into someapp
#

if command -v xclip 1>/dev/null; then
    if [[ -p /dev/stdin ]] ; then
        # stdin is a pipe
        # stdin -> clipboard
        xclip -i -selection clipboard
    else
        # stdin is not a pipe
        # clipboard -> stdout
        xclip -o -selection clipboard
    fi
else
    echo "Remember to install xclip"
fi
Hannu
fuente
1

Si copiaste datos al portapapeles

xclip se puede utilizar para imprimir el contenido del portapapeles a la salida estándar, de modo que pueda canalizarlo y procesarlo como xclip -o -selection clipboard | ....

O

Guárdalo en una variable y echo eso.

cert='-----BEGIN CERTIFICATE----- ...'; 
echo $cert | ...`

Si los datos están en un archivo

Como todos saben cat Hacer el trabajo.
cat /path/to/file | ...

Si los datos están en la web.

wget Se puede utilizar para catar un archivo en línea. Suponiendo que está en un archivo de texto.
wget -O- www.site.com/path/to/file.txt | ...

totti
fuente