Поиск и замена текста

Fish Shell:
Поиск и замена текста

Как это сделать:

Давайте заменим все вхождения слова ‘cat’ на ‘dog’ в строке.

echo "One cat, two cats, three cats." | string replace -a 'cat' 'dog'

Пример вывода:

One dog, two dogs, three dogs.

Замена текста в файле с именем pets.txt:

string replace -a 'cat' 'dog' < pets.txt > updated_pets.txt

Использование переменных для шаблонов:

set old "cat"
set new "dog"
string replace -a $old $new < pets.txt > updated_pets.txt

Погружение в детали

Поиск и замена текста существуют в текстовых редакторах с незапамятных времён. Вспомните sed для потокового редактирования в Unix — это старая добрая классика. Fish поднимает это на новый уровень, делая процесс проще с помощью команды string. Больше нет необходимости мучиться с регулярными выражениями, если только вы этого не хотите. Альтернативы? Конечно: sed, awk, скрипты на Perl, даже макросы vim. Но команда string в Fish выделяется своей элегантностью и меньшей подверженностью ошибкам для обычных задач.

Смотрите также: