Se você copiou dados para a área de transferência

Se você copiou dados para a área de transferência

Eu tenho texto na área de transferência. Quero catá-lo em um terminal e canalizá-lo para outro comando.

O caso de uso exato é um certificado X509 codificado em PEM em um site apresentado como texto ( -----BEGIN CERTIFICATE----- ...). Quero selecioná-lo, copiá-lo e, em seguida, colocá-lo em um terminal e canalizá-lo para o x509utilitário OpenSSL para despejar o certificado.

Como um gato envia texto da área de transferência para o terminal? (Se possível, gostaria de fazer isso com Linux e OS X, já que uso ambos).

Responder1

Para OS X, pbpastefaça pbcopyo que quiser – colando e copiando com stdin/stdout, respectivamente.Fonte

Para X (como em X11/Xorg), existe xclip. A gravação da saída em stdout pode ser selecionada com o -outparâmetro.Fonte

Responder2

Em relação ao xclipusar, achei isso útil - encontrado em algum lugar da rede.

--8<-- área de transferência --

#!/bin/bash
# Uso: algum aplicativo | área de transferência # Canaliza a saída de algum aplicativo para a área de transferência
# prancheta | someapp # Canaliza o conteúdo da área de transferência para someapp
#

se comando -v xclip 1>/dev/null; então
    se [[ -p /dev/stdin ]] ; então
        # stdin é um cano
        # stdin -> área de transferência
        xclip -i -área de transferência de seleção
    outro
        # stdin não é um cano
        #área de transferência -> stdout
        xclip -o -selection área de transferência
    fi
outro
    echo "Lembre-se de instalar o xclip"
fi

Responder3

Se você copiou dados para a área de transferência

xclippode ser usado para imprimir o conteúdo da área de transferência como padrão, para que você possa canalizá-lo e processá-lo como arquivo xclip -o -selection clipboard | ....

OU

Salve-o em uma variável e echopronto.

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

Se os dados estiverem em um arquivo

Como todos sabem, catfaça o trabalho.
cat /path/to/file | ...

Se os dados estiverem na web

wgetpode ser usado para criar um arquivo online. Supondo que esteja em um arquivo de texto.
wget -O- www.site.com/path/to/file.txt | ...

informação relacionada