O texto substitui literalmente * all * ocorrências de uma string através de stdin, stdout

2

Linux, ou especificamente o Ubuntu 14.04 LTS Server, se necessário (e o CENTOS 6.5 / 7 mínimo seria bom).

Se eu digitar "FOO" na linha de comando, (independentemente de como uma palavra ou uma substring), eu gostaria do shell (eu uso BASH, mas estou disposto a mudar se necessário) para substitua-o por "BAR", antes de executá-lo ou envie a string (keyword, param., o que for) para um aplicativo.

Se STDOUT estiver prestes a produzir "BAR", eu gostaria que ele exibisse "FOO", independentemente de "BAR" ser uma string separada ou uma substring.

Uma solução ideal seria compatível com o GNU Screen, e não faria distinção entre maiúsculas e minúsculas. Qualquer solução deve funcionar no SSH.

Os mapeamentos devem ser rápidos e simples de criar (por exemplo: STDIN: "FOO" - > "BAR"; STDOUT: "BAR" - > "FOO"). A única exceção à tradução / conversão de texto talvez devesse ser ao modificar o arquivo de mapeamentos. (Eu uso o FOO e o BAR, mas na prática minhas (sub) strings serão quase certamente únicas, de modo que traduções indesejadas nunca ocorrerão.)

Como posso fazer isso acontecer?

Alguém já fez isso antes?

UPDATE: Para meu uso, a substituição de strings só precisa ocorrer quando a tecla Enter é pressionada. Por exemplo, se digitar f, o, o no Vim, onde cada caractere é impresso imediatamente, nenhuma substituição será feita (como poderia?), Então eu veria apenas "foo". Espero que isso facilite as coisas.

    
por robut 18.09.2014 / 18:11

0 respostas

Tags