sed '/\(.*\..*\)\{4,\}/d'

Упомянутая выше команда распознает каждую точку в строке ...

Он также распознает точки после знака @. Например, даже это показано в результате: ryisan @ Sariyer.Cc.itu.Edu.tr

Можете ли вы помочь мне изменить указанную выше команду таким образом, чтобы только левая сторона @ считала несколько точек больше 3 и игнорировала точки после символа @ справа от письма?

Например:

fgtc21_pk@yahoo.com
bhchemitex@chemitex.com
hjcindysun48@hotmail.com
hhconsult_sa.jan.2020@yahoo.com
s.ing.song.lan.g.ju.n.55.l@gmail.com
VB.t.o.t.all.y.f.it.s.19.99@yahoo.com
a.lice.i.n.wonde.r.lnd.2.1.f@dkg.com
ryisan@Sariyer.Cc.itu.Edu.tr

Я хочу, чтобы следующие строки с несколькими точками (3 или более точек) на левой стороне @ символа были только распознающими и удалялись из файла.

s.ing.song.lan.g.ju.n.55.l@gmail.com
VB.t.o.t.all.y.f.it.s.19.99@yahoo.com
a.lice.i.n.wonde.r.lnd.2.1.f@dkg.com

Любые эксперты, плз, предложите мне, как изменить вышеуказанную команду SED .... Спасибо

1 ответ1

0

Я не эксперт, но, чтобы удалить только 4 точки (или больше) шаблонов слева от @ вы можете просто добавить @.* В конце выражения:

sed '/\(.*\..*\)\{4,\}@.*/d'

Это означает, что необходимо удалить 4 точки (или более) шаблонов слева от @ независимо от того, какие символы находятся справа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .