Як видалити рядки, що містять більше трьох крапок в електронному листі до символу @ за допомогою SED?


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

Згадана вище команда розпізнає кожен DOT у рядку ...

Він також розпізнає DOTS після знака @. Наприклад, навіть це показано в результаті: ryisan@Sariyer.Cc.itu.Edu.tr

Чи можете ви допомогти мені змінити вищевказану команду таким чином, що лише ліва сторона @ налічує декілька крапок DOTS більше 3 та ігнорує DOTS після символу @ праворуч електронної пошти?

Наприклад:

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

Будь-які експерти, PLZ запропонують мені, як змінити вищевказану команду SED .... Дякую

Відповіді:


0

Я не експерт, але, щоб видалити лише 4 крапки (або більше) зліва від @вас, ви можете просто додати @.*в кінці вислову:

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.