Заменить регулярное выражение словом с измененной версией слова - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь заменить 10-значное число, которое я нахожу, регулярным выражением с тем же словом, предварительно добавленным с "abc".Например, если совпадающее число - 0123456789, я хочу заменить это слово на abc0123456789.

Погуглив, я обнаружил, что sed полезен для замены слов в файле -

sed -i '' -e 's/[0-9]\{10\}/new-word/g' *.csv

Эта команда успешно заменила мои экземпляры из 10 цифр на "new_word".Как мне вместо этого заменить его на «abc + [совпавшее слово]»?

1 Ответ

0 голосов
/ 11 декабря 2018

Используйте скобки, чтобы создать «соответствующую группу захвата».Чтобы обратиться к первой группе, используйте \1 и т. Д.:

s/\([0-9]\{10\}\)/abc\1/g

Или используйте &, что означает «вся соответствующая часть»:

s/[0-9]\{10\}/abc&/g
...