AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1233685
Accepted
zx485
zx485
Asked: 2020-05-01 14:35:16 +0800 CST2020-05-01 14:35:16 +0800 CST 2020-05-01 14:35:16 +0800 CST

Substituir a seleção atual da área de transferência por uma versão modificada da seleção original

  • 772

Eu li os tópicos atuais no AskUbuntu, mas nenhum deles se encaixou exatamente.

A situação é:
Eu quero substituir o texto atualmente selecionado (chamando um script bash via EasyStroke ) por uma versão modificada deste texto. O texto é modificado por RegEx'es ou algo assim... faz parte do script, então realmente não importa.

Estado atual:
posso ler a seleção do ClipBoard com xclip , modificá-lo e copiá-lo de volta para o ClipBoard com o seguinte comando (parte do script bash chamado):

xclip -o | sed 's/ab/ef/g' | xclip -sel clip

A cadeia de teste é

cdabcdabcdabcdab

E após aplicar o comando acima, a saída (na Área de Transferência) é

cdefcdefcdefcdef

qual é correto. Mas o resultado ainda é armazenado na área de transferência e não colado de volta no aplicativo. Eu tenho que colá-lo no aplicativo em execução no momento com Ctrl+ Vmanualmente.

A pergunta é:
Como posso automatizar a última etapa de pressionar Ctrl+ Vpara colar imediatamente o resultado no aplicativo no qual o texto de origem foi selecionado?

Eu tentei xclipe xsel, mas não consegui fazê-los funcionar da maneira descrita acima.

Alguma sugestão?

scripts shortcut-keys bash clipboard
  • 1 1 respostas
  • 337 Views

1 respostas

  • Voted
  1. Best Answer
    zx485
    2020-05-08T15:45:14+08:002020-05-08T15:45:14+08:00

    Graças ao comentário do @meuh acima, consegui concluir esta tarefa:

    1. Instale estes programas:

      sudo apt-get -y install xclip xdotool libnotify-bin
      
    2. Crie um .bashscript para a transformação:

      #!/bin/bash
      # Script to replace selection with a 'sed' transformed output (callable with easystroke or similar)
      IN=`xclip -o`
      # Example: Replace all 'ab' by 'ef'
      RESULT=`echo "$IN" | sed -e 's/ab/ef/g`
      # Output result to clipboard
      xdotool type "$RESULT"
      # Transform result to HTML for output with notify-send
      RESULT_HTML=`echo "$RESULT" | sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g'`
      # Create a notification in the lower right corner with the transformation
      notify-send  "Changed clipboard text" "Input: $IN\nOutput: $RESULT_HTML"
      
    3. Chame esse script do easystroke ou de um programa semelhante que processe as teclas ou o mouse.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve