Как удалить одинарные кавычки в одной строке в кавычках? - PullRequest
0 голосов
/ 14 февраля 2019

Мне нужно удалить одиночную кавычку в электронном адресе с одинарными кавычками с помощью Sed.

Я пробовал сопоставлять с

    ,'.*(?<=@)

, в него всегда включается 'def', 'врегулярное выражение.

Например,

    aabc,123,'def','me.o'le@abc.com',123,abc

до

    aabc,123,'def','me.ole@abc.com',123,abc

Как мне сделать замену, не касаясь остальных одинарных кавычек?

Спасибо

1 Ответ

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

Вы не указали достаточно информации об ограничениях на формат входной строки.Однако следующая команда sed работает с предоставленной вами строкой примера и многими другими.(Если быть точным: он будет работать с любыми строками, в которых нужно удалить только один символ, который может появиться в любой позиции в именной части адреса электронной почты, а адрес электронной почты, разделенный одинарными кавычками, сам по себе не является ни первым, нипоследнее разделенное запятыми поле. Если нужно исправить более двух адресов электронной почты, оно будет работать с первым.)

Это должно дать вам представление.Ключ привязывает ваш матч между ,' и ',.

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