Spec-Zone.ru › Fish 3.7

string-replace - замена подстрок

Краткое описание

string replace [-a | --all] [-f | --filter] [-i | --ignore-case]
               [-r | --regex] [-q | --quiet] PATTERN REPLACEMENT [STRING ...]

Описание

string replace аналогично string match, но заменяет непересекающиеся совпадающие подстроки строкой замены и выводит результат. По умолчанию, PATTERN рассматривается как подстрока, подлежащая совпадению.

Если указан -r или --regex, PATTERN интерпретируется как совместимый с Perl регулярное выражение, а REPLACEMENT может содержать escape-последовательности в стиле C, такие как t, а также ссылки на группы захвата по номеру или имени, как $n или ${n}.

Если вы укажете флаг -f или --filter, то каждая входная строка выводится только в том случае, если была выполнена замена. Это полезно в случаях, когда вы в противном случае использовали бы этот фрагмент: a_cmd | string match pattern | string replace pattern new_pattern. Вместо этого вы можете просто написать a_cmd | string replace --filter pattern new_pattern.

Код возврата: 0, если была выполнена хотя бы одна замена, или 1 в противном случае.

Примеры

Примеры замены литералов

>_ string replace is was 'blue is my favorite'
blue was my favorite

>_ string replace 3rd last 1st 2nd 3rd
1st
2nd
last

>_ string replace -a ' ' _ 'spaces to underscores'
spaces_to_underscores

Примеры замены регулярных выражений

>_ string replace -r -a '[^\d.]+' ' ' '0 one two 3.14 four 5x'
0 3.14 5

>_ string replace -r '(\w+)\s+(\w+)' '$2 $1 $$' 'left right'
right left $

>_ string replace -r '\s*newline\s*' '\n' 'put a newline here'
put a
here

© 2005-2009 Axel Liljencrantz, 2009-2023 fish-shell contributors
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.7/cmds/string-replace.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API