Команда Gvim для вставки строки в середину строки - PullRequest
0 голосов
/ 20 декабря 2018

Итак, я хочу команду gvim или sed, которая вставила бы строку (new_string) перед первым соответствием (//).Например,

Say the input is            --> hi hola //Comment
Then the output expected is --> hi hola new_string //Comment

Поэтому я хочу добавить строку перед первым появлением //.Я попробовал команду sed

sed 's/\<\/\/\>/Really &/' file

Однако для // подстроки это не работает.

1 Ответ

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

\< и \> - это границы слов, но // - это несимвольные символы.\< ожидает, что следующим символом будет слово char, и прямо перед тем, как должно быть начало строки или не-слово char.\> ожидает конца строки или несловесного символа сразу справа и слова char сразу слева.Таким образом, совпадений нет.

Также рекомендуется использовать разделители регулярных выражений, отличные от /, если вы используете обратную косую черту в шаблоне или RHS.

Используйте

sed 's,//,new_string &,' file > newfile

Он заменит // на new_string // один раз в строке.Если необходимо заменить первое вхождение во всем файле, см. Как использовать sed для замены только первого вхождения в файле?

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