Como copiar da seleção atual da área de transferência para o terminal com um comando e sem mouse [duplicado]

5

Obrigado pelo seu apoio. Desejo criar um script bash que use o texto mais recente copiado e atualmente na área de transferência.

    
por Jesus 05.12.2016 / 04:18

3 respostas

4

Existem atalhos de teclado para terminais GUI, Ctrl + Shift + V e Shift + Insert já. Um script e mouse são desnecessários aqui.

Se você está procurando especificamente por comandos, existem xclip e xsel . Ambos são usados para manipular pranchetas (das quais existem duas no Linux - primária e secundária, é por isso que dois atalhos de teclado diferentes foram mencionados no início desta resposta). Eu sou mais fã de xclip , e uso regularmente echo text | xclip -sel clip para copiar algo para a área de transferência e xclip -out -sel clip para imprimir o que estiver na minha área de transferência. Isso é especialmente útil quando você deseja filtrar texto ou processar texto com outro comando, como xclip -out -sel clip | grep 'some text that I am looking for'

NOTA: xclip e xsel não vêm para o Ubuntu por padrão. Você deve instalá-los com o comando sudo apt-get install PACKAGE_NAME

Se quisermos entrar no TTY, não há como copiar texto lá. Você deve usar algo conhecido como named pipe ou apenas um arquivo de texto simples.

    
por Sergiy Kolodyazhnyy 05.12.2016 / 05:01
3

Encontrei uma solução enquanto navegava através deste fórum. Eu tive que instalar o "xclip"

sudo apt-get install xclip

então eu uso no terminal:

"$(xclip -o)"
    
por Jesus 05.12.2016 / 04:50
2

Você pode aproveitar xdotool para simular o teclado e o mouse.

Então, para colar um texto da área de transferência, usamos Ctrl + Deslocamento + v , você pode simular isso em xdotool por:

xdotool key ctrl+shift+v

Verifique também as ações do mouse, leia man xdotool .

Se não estiver instalado, instale-o por (disponível no repositório Universe):

sudo apt-get install xdotool
    
por heemayl 05.12.2016 / 04:31