Как добавить строку перед определенным типом слов? - PullRequest
0 голосов
/ 19 января 2020

У меня есть файл, содержимое которого: -

abc"/wiki/A"def
ghi"/wiki/B"jkl
mno"/wiki/C"pqr

И я хочу добавить «https://en.wikipedia.org» перед всеми / wiki / в данных предложениях. В файле может быть много других типов строк.

Требуемые результаты: -

abc"https://en.wikipedia.org/wiki/A"def
ghi"https://en.wikipedia.org/wiki/B"jkl
mno"https://en.wikipedia.org/wiki/C"pqr

Я пробовал некоторые решения, которые: -

Как использовать команду sed для добавления строки перед строкой шаблона?

Вставить текст перед определенной строкой, используя Bash

согласно моему предположению, это связано с символом "/" перед "вики". Игнорируя "/", он работает отлично.

предоставленное мной решение: -

sed 's//wiki//bar/wiki//g' abcdef

, но отображаются ошибки

sed: -e expression #1, char 13: unknown option to `s'

Ответы [ 2 ]

1 голос
/ 21 января 2020

Пожалуйста, попробуйте это: -

sed 's/\/wiki/https:\/\/en.wikipedia.org\/wiki/g' filename
0 голосов
/ 19 января 2020

Добавьте \ (back sla sh) перед / (sla sh) для идентификации другого значения / в сед.

Если вы работаете на терминале, необходимо выполнить параметр -e. Это ручной сед.

-e CMD Добавить CMD к командам sed для выполнения

sed -e 's/wiki/https\:\/\/en.wikipedia.org\/wiki/g'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...