Использование упрощенного регулярного выражения электронной почты для замены 6-го вхождения |
плюс необязательный адрес электронной почты на |
(, оставляя не -адреса электронной почты в 7-м поле без изменений):
sed 's/|\([^|@]\+@[^|@]\+\.[a-zA-Z]\{2,\}\)\?/|/6' file
s/
замена |
литерал соответствия|
\(
начать группу [^|@]\+
соответствует одному или нескольким не-|
и не-@
символам (всем символам до@
)@
буквальное соответствие@
[^|@]\+
то же, что и двумя строками выше \.
соответствует точке [a-zA-Z]\{2,\}
соответствует 2 или более буквам \)
конечная группа \?
соответствует нулю или одной группе /|/
заменить на|
6
соответствует 6-му вхождению шаблона