Использование vim в Linux для замены определенных слов - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть файл .txt со следующей информацией:

...

353 48 338 48 338 9 353 9 **personperson走** 281 64 259 64 259 4 281 4 person

353 48 338 48 338 9 353 9 **personabc** 281 64 259 64 259 4 281 4 person

353 48 338 48 338 9 353 9 **persondef** 281 64 259 64 259 4 281 4 person

...

Я хочу заменить все эти слова жирным шрифтом на человека (оригинальные слова обычным шрифтом, а не жирным шрифтом)

вот так:

...

353 48 338 48 338 9 353 9 **person** 281 64 259 64 259 4 281 4 person

353 48 338 48 338 9 353 9 **person** 281 64 259 64 259 4 281 4 person

353 48 338 48 338 9 353 9 **person** 281 64 259 64 259 4 281 4 person

...

Я попытался использовать следующую команду для замены, но часть old_string отличается.

%s/old_string/new_string/g

Есть ли способ использовать grep в (old_string) части для замены лица * (остановка пустым) на человека

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Я бы сделал:

%s/\<person\zs\S\+//g
  • Это не заменит foopersonbar на fooperson
  • Это заменит китайское слово (OP означает "остановка на пустом месте) "
0 голосов
/ 15 февраля 2019

Вы можете использовать следующее в vim:

:%s/person\w\+/person/g

Это заменит все слова, заключающие человека, за которыми следуют символы слова человеком

Дополнительную информацию о функции замены в vim вы можете найтиздесь: http://vim.wikia.com/wiki/Search_and_replace

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...