Есть ли какая-нибудь утилита, которая заменит или вставит какой-то дополнительный текст, когда я напишу какую-нибудь текстовую комбинацию в некотором текстовом вводе?

Например, когда я пишу "html", программа должна заменить "html" на "Hyper Text Markup Language".

1 ответ1

0

Вы можете использовать команду потокового редактора (sed) (man-страницу) для замены текста в файле. Например, если вы сохранили то, что набрали, в файле myfile.txt, вы можете использовать приведенную ниже команду для замены всех экземпляров html на "Язык гипертекстовой разметки":

sed -i -e 's:html:Hyper Text Markup Language:Ig' myfile.txt

Опция -i указывает sed, что вы хотите отредактировать файл на месте, то есть сохранить изменения в файле, который он обрабатывает. -e указывает, что ниже будет выражение / команда для запуска sed. Команда, которую должен выполнить sed, заключена в одинарные кавычки. s говорит ему выполнить замену текста, следующего за первым двоеточием, текстом, который следует за вторым двоеточием. Вам не обязательно использовать двоеточия в качестве разделителей; Вы можете использовать другой символ, такой как символ косой черты, т. е. / . I после последнего двоеточия говорит ему игнорировать регистр букв, поэтому он заменит "HTML", а также "html". Если бы вы только хотели заменить "html", вы бы пропустили I G говорит ему выполнить "глобальную" замену, которая гарантирует, что если "html" встречается в строке более одного раза, sed заменит все вхождения "html" текстом замены. Другие примеры замены текста в sed .

Возможно, вы могли бы использовать Autokey для автоматической замены текста. Если он недоступен с помощью утилиты управления пакетами, которую вы обычно используете для установки программного обеспечения, он доступен на GitHub в AutoKey. См. AutoKey: Linux Utility для замены текста, горячие клавиши и Desktop Automation для получения информации об установке и использовании утилиты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .