Intereting Posts
Случай использования для qemu-static для той же архитектуры Рисование конечного автомата из журналов Найти локальный IP-адрес VPN-клиента Переназначение входных разъемов для звуковой платы HDA ATI SB (Intel HDA / Realtek ALC883) Встроенное устройство: как выполнять сырые чтения и запись на флэш (emmc / movinand) в обход кеша файловой системы rpm temp file question (rpm-tmp) Почему мой сервер прерывает ssh-соединения? извлекать текст между двумя разными совпадениями Как заменить диск в резервном пуле ZFS? Создавать и использовать разреженный файл как непривилегированный пользователь Является ли ctrl + alt + backspace официально устаревшим? Есть ли дистрибутив с установщиком, который может автоматически выполнять LVM над LUKS со всем, что при необходимости согласовано? Обрезать текст без цикла Почему не удается найти / rm -iname '* phpmyadmin' удалить phpMyAdmin-Version-XYZ.zip? Маскарад Iptables нарушает поиск DNS

Текст заменяет буквально * все * экземпляры строки через stdin, stdout

Linux, или, в случае необходимости, Ubuntu 14.04 LTS Server (и минимально CENTOS 6.5 / 7).

Если я введу «FOO» в командной строке (независимо от того, как в виде слова или подстроки), я бы хотел использовать оболочку (я использую BASH, но я готов переключиться, если необходимо), чтобы заменить ее «BAR», перед выполнением или отправкой в ​​приложение строки (ключевое слово, параметр, что угодно).

Если STDOUT собирается вывести «BAR», я бы хотел, чтобы вместо этого отображался «FOO», независимо от того, является ли «BAR» отдельной строкой или подстрокой.

Идеальное решение совместимо с GNU Screen и не учитывает регистр. Любое решение должно работать над SSH.

Сопоставление должно быть быстрым и довольно простым в создании (например: STDIN: «FOO» -> «BAR»; STDOUT: «BAR» -> «FOO»). Единственное исключение для перевода / преобразования текста, возможно, должно быть при изменении файла сопоставлений. (Я использую FOO и BAR, но на практике мои (под) строки будут почти наверняка уникальными, так что нежелательных переводов никогда не произойдет.)

Как я могу это сделать?

Кто-нибудь делал это раньше ?

UPDATE: для моего использования замена строки должна выполняться только при нажатии клавиши Enter. Например, если вы набираете f, o, o в Vim, где каждый символ печатается немедленно, никакая замена не будет выполнена (как это может быть?), Поэтому я бы посмотрел только «foo». Надеюсь, это упростит ситуацию.