Как заменить часть строки в файле, используя sed с регулярным выражением? - PullRequest
0 голосов
/ 18 декабря 2018

Я использую sed и хочу найти часть в файле и заменить ее. Я хочу найти адрес =, а содержимое внутри "" заменить в этом случае "мое местоположение" заменить на Лондон, я использую следующий скрипт, которыйзаменяет все, что идет после адреса =, а я хочу заменить только то, что у меня внутри ""

<test address="my location",it is located>

sed -e s/address =.*$/address =com.test/g /file.json

1 Ответ

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

Я считаю, что вы просто ищете:

sed -e 's/address=".*"/address="London"/g'

Регулярное выражение в вашем примере заменяет все символы после address= до конца строки, $.

Редактировать : Ответ на комментарий:

Вы можете захватить address=" и затем обратиться к нему с обратной ссылкой, \1, в строке подстановки:

sed -e 's/\(address="\)[^"]*/\1London/g'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...