Tengo texto en el portapapeles. Quiero conectarlo a una terminal y canalizarlo a otro comando.
El caso de uso exacto es un certificado X509 codificado con PEM en un sitio web presentado como texto ( -----BEGIN CERTIFICATE----- ...
). Quiero seleccionarlo, copiarlo y luego conectarlo a una terminal y canalizarlo a x509
la utilidad OpenSSL para volcar el certificado.
¿Cómo envía un gato el texto del portapapeles a la terminal? (Si es posible, me gustaría hacerlo tanto con Linux como con OS X ya que uso ambos).
Respuesta1
Respuesta2
Con respecto a xclipusar, He encontrado que esto es útil: lo encontré en algún lugar de la red.
--8<-- portapapeles --
#!/bin/bash # Uso: alguna aplicación | portapapeles # Canaliza la salida de alguna aplicación al portapapeles # portapapeles | someapp # Canaliza el contenido del portapapeles a someapp # si comando -v xclip 1>/dev/null; entonces si [[ -p /dev/stdin ]] ; entonces # stdin es una tubería # stdin -> portapapeles xclip -i -selección portapapeles demás # stdin no es una tubería # portapapeles -> salida estándar xclip -o -selección portapapeles fi demás echo "Recuerda instalar xclip" fi
Respuesta3
Si copiaste datos al portapapeles
xclip
se puede utilizar para imprimir el contenido del portapapeles en formato estándar, de modo que pueda canalizarlo y procesarlo como archivo xclip -o -selection clipboard | ...
.
O
Guárdelo en una variable y echo
.
cert='-----BEGIN CERTIFICATE----- ...';
echo $cert | ...`
Si los datos están en un archivo
Como todo el mundo sabe, cat
haga el trabajo.
cat /path/to/file | ...
Si los datos están en la web
wget
se puede utilizar para capturar un archivo en línea. Suponiendo que esté en un archivo de texto.
wget -O- www.site.com/path/to/file.txt | ...