📧 استخراج ایمیل از فایل متنی |

3 دقیقه

ابزارهای زیادی در خط فرمان لینوکس وجود دارد که می توانیم از آنها برای استخراج اطلاعات از فایل های متنی استفاده کنیم .

در این آموزش ، ما از چندین روش مختلف برای استخراج آدرس ایمیل از یک فایل متنی در لینوکس استفاده خواهیم کرد.

همه روش ها یک هدف را ارائه می دهند ، بنابراین یکی از مواردی را که برای شما مناسب است انتخاب کنید.

خروجی ایمیل از یک فایل متنی

ما فرض می کنیم که فایل متنی شما حاوی یک یا چند آدرس ایمیل پراکنده در متن ساده است.

وظیفه بررسی فایل های متنی با استفاده از ابزارهای مختلف لینوکس و استخراج آدرس ایمیل از آنها است.

به عنوان مثال ، ما از فایل متنی زیر استفاده می کنیم.

 نام: Atskiy Luk.
ایمیل: [email protected]
برای سوالات تجاری ، لطفا با [email protected] تماس بگیرید.
روش دیگر ، ارسال ایمیل به رئیس مدیر من @ example.
با تشکر

روشهای مختلفی را که در زیر برای استخراج هر یک از سه آدرس ایمیل در این فایل نمونه استفاده می کنیم ، بررسی کنید.

grep regex زیر می تواند برای استخراج آدرس های ایمیل از فایل ما استفاده شود.

 $ grep -oe "[a-zA-Z0-9._]  + @ [a-zA-Z]  +. [a-zA-Z]  +" emails.txt

از دستور sed زیر نیز می توان برای استخراج آدرس های ایمیل استفاده کرد.

 $ sed -r's /  b [A-Z0-9._%+-] + @ [A-Z0-9.-] + . [A-Z] {2،4} /  n &  n / ig؛ ​​s / ( ^ |  n) [^@] * ( n | $) /  n / g؛ s / ^  n |  n $ // g؛ / ^ $ / d 'ایمیل . txt

از کد پایتون زیر نیز می توان برای استخراج آدرس ایمیل از متن استفاده کرد.

 import re
text = "نام: Atsky Bow." + 
"ایمیل: [email protected]" "+ 
"برای سوالات تجاری ، لطفاً با [email protected] تماس بگیرید." + 
"از طرف دیگر ، به مدیر سرپرست من @ مثال ایمیل بزنید." + 
با تشکر"
emails = re.findall (r "[a-z0-9.-+_] + @ [a-z0-9.-+_] + . [a-z] +" ، متن) چاپ (ایمیل) 

فایل خود را به عنوان script.py ذخیره کنید و سپس آن را اجرا کنید تا آدرس ها را استخراج کنید.

 $ python3 script.py

در نهایت ، ما همچنین می توانیم از اسکریپت perl زیر برای استخراج آدرس های ایمیل استفاده کنیم.

 #! / Usr / bin / perl

سختگیرانه استفاده کنید ؛

$ email_count من ؛

while ($ line = <> من) {#از فایل یا STDIN خوانده شود
  $ ایمیل من را پیش بینی کنید (split /  s + /، $ line) {
     if ($ email = /^ [19459036>]+@(
 $ ایمیل را چاپ کنید " n"؛
$ email_count ++؛

  }
}
}

چاپ "ایمیل های استخراج شده: $ email_count  n" ؛ 

فایل را به عنوان script.pl ذخیره کنید و سپس آن را برای استخراج آدرس ها اجرا کنید.

 $ ./script.pl emails.txt

نتیجه گیری

در این آموزش ، ما چندین روش مختلف برای استخراج آدرس ایمیل از یک فایل متنی در سیستم های لینوکس را نشان داده ایم.

همانطور که در اکثر موارد در لینوکس ، چندین روش برای انجام یک کار وجود دارد. [[19659006] از هر روشی که برای شما مناسب است استفاده کنید ، خواه از ابزارهای استاندارد Bash ، زبانهای برنامه نویسی پایتون یا Perl استفاده کنید.