هذا هو الأمر grepmailp الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
grepmail - ابحث في صناديق البريد عن بريد يطابق التعبير العادي
موجز
grepmail [--مساعدة|--الإصدار] [-abBDFhHilLmrRuvVw] [-C ]
[-j ] [-س ] [-د ]
[-X ] [-ي ]
[[-ه] |-ه |-و ]
الوصف
com.grepmail يبحث عن رسائل البريد التي تحتوي على نمط، ويطبع الرسائل الناتجة
على مستوى خارج.
افتراضيا com.grepmail يبحث في كل من الرأس والنص عن النمط المحدد.
عند إعادة التوجيه إلى ملف، تكون النتيجة صندوق بريد آخر، والذي بدوره يمكن التعامل معه
بواسطة وكلاء المستخدم القياسيين، مثل خشب الدردار، أو حتى استخدامها كمدخل لمثيل آخر من
com.grepmail.
واحد على الأقل من -E, -e, -d, -s أو -u يجب تحديدها. النمط اختياري إذا -d,
-s، و / أو -u يستخدم. ال -e تكون العلامة اختيارية إذا لم يكن هناك ملف اسمه
نمط. ال -E يمكن استخدام الخيار لتحديد تعبيرات البحث المعقدة التي تتضمن
العوامل المنطقية. (انظر أدناه.)
إذا لم يتم العثور على صندوق بريد، يبحث grepmail أولاً في الدليل المحدد بواسطة ملف
MAILDIR متغير البيئة (إذا تم تعريفه)، ثم يبحث في $HOME/mail،
$HOME/Mail، وأدلة $HOME/Mailbox.
OPTIONS لأي لبس الحجج
العديد من الخيارات والحجج مشابهة لتلك الخاصة بـ grep.
النمط
النمط المطلوب البحث عنه في رسالة البريد. قد يكون أي تعبير عادي لبيرل، ولكن
يجب أن يتم اقتباسه في سطر الأوامر للحماية من اللمعان (توسيع الصدفة). ل
ابحث عن أكثر من نمط، استخدم النموذج "(pattern1|pattern2|...)".
لاحظ أن ميزات النمط المعقدة مثل "(؟>...)" تتطلب استخدام إصدار من
بيرل الذي يدعمهم. يمكنك استخدام النمط "()" للإشارة إلى أنك لا تريد ذلك
لتتناسب مع أي شيء. يعد هذا مفيدًا إذا كنت تريد تهيئة ذاكرة التخزين المؤقت دون الطباعة
أي الإخراج.
صندوق البريد
يجب أن تكون صناديق البريد تقليدية، بتنسيق صندوق بريد UNIX "/bin/mail". قد تكون صناديق البريد
مضغوط بواسطة gzip أو bzip2، وفي هذه الحالة يجب تثبيت gunzip أو bzip2 على
نظام.
إذا لم يتم تحديد صندوق بريد، فسيأخذ الإدخال من stdin، والذي يمكن ضغطه أو لا.
لا يكون سلوك grepmail محددًا عندما يتم نقل بيانات ASCII والبيانات الثنائية معًا كمدخلات.
-a
استخدم تاريخ الوصول بدلاً من تاريخ الإرسال.
-b
التأكد من أن النمط يجب أن يتطابق في نص البريد الإلكتروني.
-B
قم بطباعة النص ولكن مع الحد الأدنى فقط من الرؤوس ("من"، "من:"، "الموضوع:"، "التاريخ:").
يمكن استخدام هذه العلامة مع -H، وفي هذه الحالة ستطبع فقط الرؤوس القصيرة ولا
هيئات البريد الإلكتروني.
-C
يحدد موقع ملف ذاكرة التخزين المؤقت. الافتراضي هو $HOME/.grepmail-cache.
-D
تمكين وضع التصحيح، الذي يطبع الرسائل التشخيصية.
-d
مواصفات التاريخ يجب أن تكون على الشكل التالي:
- تاريخ مثل "اليوم"، "أمس"، "5/18/93"، "منذ 5 أيام"، "منذ 5 أسابيع"،
- أو "قبل"، أو "بعد"، أو "منذ"، متبوعًا بالتاريخ كما هو محدد أعلاه،
- أو "بين و "، أين يتم تعريفه على النحو الوارد أعلاه.
سيتم أولاً تحليل تعبيرات التاريخ البسيطة حسب Date::Parse. إذا فشل هذا، grepmail
سيحاول تحليل التاريخ باستخدام Date::Manip، إذا كانت الوحدة مثبتة على الملف
نظام. استخدم نمطًا فارغًا (على سبيل المثال -d "") للعثور على رسائل البريد الإلكتروني التي لا تحتوي على سطر "التاريخ: ...".
رأس.
يتم تفسير مواصفات التاريخ بدون الأوقات على أنها تحتوي على وقت منتصف الليل لذلك
اليوم (وهو الصباح) باستثناء مواصفات «بعد» و«منذ» وهي
يتم تفسيره على أنه منتصف ليل اليوم التالي. على سبيل المثال، "بين اليوم وغدًا"
هي نفس كلمة "اليوم" ببساطة، وتقوم بإرجاع رسائل البريد الإلكتروني التي يقع تاريخها في اليوم الحالي. ("الآن"
يتم تفسيره على أنه "اليوم".) ستعيد مواصفات التاريخ "بعد الخامس من يوليو" رسائل البريد الإلكتروني
الذي يكون تاريخه منتصف ليل السادس من يوليو أو ما بعده.
-E
حدد تعبير بحث معقد باستخدام عوامل التشغيل المنطقية. يسمح بناء الجملة الحالي
المستخدم لتحديد تعبيرات البحث باستخدام بناء جملة بيرل. يمكن استخدام ثلاث قيم:
$email (رسالة البريد الإلكتروني بأكملها)، أو $email_header (الرأس فقط)، أو $email_body (فقط
الجسم). يتم تحديد البحث على شكل "$email =~ /pattern/"، ومتعدد
يمكن دمج عمليات البحث باستخدام "&&" و"||" لـ "و" و "أو".
على سبيل المثال، التعبير
$email_header =~ /^من: .*\@coppit.org/ && $email =~ /grepmail/i
سوف تجد جميع رسائل البريد الإلكتروني التي تنشأ من coppit.org (يجب عليك الهروب من علامة "@" باستخدام
شرطة مائلة عكسية)، والتي تحتوي على الكلمة الأساسية "grepmail" في أي مكان في الرسالة، في أي مكان
الرسملة.
-E لا يتوافق مع -b, -hو -e. -i, -M, -Sو -Y لم تكن بعد
نفذت.
ملاحظة: قد يتغير بناء جملة تعبيرات البحث في المستقبل. على وجه الخصوص، الدعم
يمكن إضافة الحجم والتاريخ والقيود الأخرى. يمكن أيضًا تبسيط بناء الجملة في
من أجل جعل تكوين التعبير أسهل في الاستخدام (وربما على حساب تقليل
وظائف).
-e
حدد بوضوح نمط البحث. وهذا مفيد لتحديد الأنماط التي تبدأ
مع "-"، والتي يمكن تفسيرها على أنها علامة.
-f
الحصول على أنماط من FILE، واحد لكل سطر. يحتوي الملف الفارغ على صفر أنماط، و
وبالتالي لا يتطابق مع أي شيء.
-F
إجبار grepmail على معالجة جميع الملفات والتدفقات كما لو كانت صناديق بريد. (أي
تخطي عمليات التحقق من ملفات ASCII غير الخاصة بصندوق البريد أو الملفات الثنائية التي لا تبدو كما هي
مضغوطة باستخدام المخططات المعروفة.)
-h
التأكد من أن النمط يجب أن يتطابق في رأس البريد الإلكتروني.
-H
اطبع رأس رسائل البريد الإلكتروني المطابقة وليس نصها.
-i
اجعل البحث غير حساس لحالة الأحرف (قياسًا على البقرى -i).
-j
التأكد من أن رأس البريد الإلكتروني "الحالة:" يجب أن يحتوي على العلامات المحددة. النظام والحالة هي
ليس مهما، لذلك استخدم -j AR or -j ra للبحث عن رسائل البريد الإلكتروني التي تمت قراءتها و
أجاب.
-l
إخراج أسماء الملفات التي تحتوي على بريد إلكتروني مطابق للتعبير (قياسا على البقرى
-l).
-L
اتبع الروابط الرمزية. (يدل -R)
-M
يتسبب في قيام grepmail بتجاهل مرفقات MIME غير النصية. هذا يزيل الإيجابيات الكاذبة
الناتجة عن الثنائيات المشفرة كمرفقات ASCII.
-m
إلحاق "مجلد البريد X: " لجميع رؤوس البريد الإلكتروني، مع الإشارة إلى المجلد الذي يحتوي عليه
البريد الإلكتروني المطابق.
-n
بادئة كل سطر بمعلومات رقم السطر. إذا تم تحديد ملفات متعددة، فإن
اسم الملف سوف يسبق رقم السطر. ملحوظة: عند استخدامه مع -mأطلقت حملة
يحتوي رأس X-Mailfolder على نفس رقم السطر الموجود في السطر (الفارغ) التالي.
-q
الوضع الهادئ. منع إخراج رسائل التحذير حول الملفات غير الخاصة بصندوق البريد،
الدلائل، الخ.
-r
إنشاء تقرير بأسماء الملفات التي تحتوي على رسائل البريد الإلكتروني المطابقة للتعبير،
بالإضافة إلى عدد رسائل البريد الإلكتروني المطابقة.
-R
يتسبب في قيام grepmail بتكرار أي أدلة تمت مواجهتها.
-s
قم بإرجاع رسائل البريد الإلكتروني التي تطابق الحجم (بالبايت) المحدد بهذه العلامة. لاحظ أن هذا
الحجم يشمل طول الرأس.
يجب أن تكون قيود الحجم على الشكل التالي:
- 12345: حجم مطابق 12345 بالضبط
- <12345، <=12345، >12345، >=12345: حجم المطابقة أقل من أو أقل من أو يساوي،
أكبر من أو أكبر من أو يساوي 12345
- 10000-12345: حجم المطابقة بين 10000 و12345 ضمناً
-S
تجاهل التوقيعات. يتكون التوقيع من كل شيء بعد سطر يتكون من "--"
".
-u
قم بإخراج رسائل البريد الإلكتروني الفريدة فقط، قياسًا على sort -u. يحدد Grepmail تفرد البريد الإلكتروني
بواسطة رأس معرف الرسالة.
-v
عكس معنى البحث قياسا على البقرى -v. وينتج عن هذا مجموعة رسائل البريد الإلكتروني
المطبوعة هي تكملة لتلك التي سيتم طباعتها بدون -v التبديل.
-V
اطبع النسخة واخرج.
-w
ابحث فقط عن تلك الأسطر التي تحتوي على النمط كجزء من مجموعة كلمات. إنه،
يجب أن تتطابق بداية النمط مع بداية الكلمة، ويجب أن تتطابق نهاية النمط
تطابق نهاية الكلمة. (لاحظ أن البداية والنهاية لا يلزم أن تكونا لـ نفسه كلمة.)
إذا كنت معتادًا على تعبيرات Perl العادية، فإن هذه العلامة تضع ببساطة "\b" قبلها
وبعد نمط البحث.
-X
حدد تعبيرًا عاديًا لفاصل التوقيع. افتراضيا هذا النمط هو
'^-- $'.
-Y
حدد نمطًا يشير إلى رؤوس معينة سيتم البحث فيها. البحث سوف
تعامل تلقائيًا مع الرؤوس التي تمتد على عدة أسطر كخط طويل واحد. هذا العلم
يدل -h.
في نمط procmail، سيتم توسيع السلاسل الخاصة في النمط على النحو التالي:
إذا كان التعبير العادي يحتوي على "^TO:" فسيتم استبداله بـ
^((الأصل-)?(مستاء-)?(إلى|نسخة|مخفية)|(مغلف X|على ما يبدو(-مستاء)؟)-إلى):
والتي يجب أن تطابق جميع الرؤوس مع عناوين الوجهة.
إذا كان التعبير العادي يحتوي على "^FROM_DAEMON:" فسيتم استبداله بـ
(^(القائمة البريدية:|الأسبقية:.*(البريد غير المرغوب فيه|مجمّع|قائمة)|إلى: مستلمون متعددون لـ |(((المرسل إليه-)?(من|المرسل)|مغلف X-من):|>?من )([^>]*[^(.%@a-z0-9])?(Post(ma?(st(e?r)?|n)|office)|(send)?Mail(er)? |daemon|m(mdf|ajordomo)|n?uucp|LIST(SERV|proc)|NETSERV|o(wner|ps)|r(e(quest|sponse)|oot)|b(ounce|bs\.smtp )|echo|mirror|s(erv(ices?|er)|mtp(error)?|ystem)|A(dmin(istrator)?|MMGR|utoanswer))([^).!:a-z0- 9][-_a-z0-9]*)?[%@>\t ][^<)]*(\(.*\).*)?)?
والتي يجب أن تلتقط رسائل البريد القادمة من معظم الشياطين.
إذا كان التعبير العادي يحتوي على "^FROM_MAILER:" فسيتم استبداله بـ
(^(((Resent-)?(From|Sender)|X-Envelope-From):|>?From)([^>]*[^(.%@a-z0-9])?(Post(ma(st(er)?|n)|office)|(send)?Mail(er)?|daemon|mmdf|n?uucp|ops|r(esponse|oot)|(bbs\.)?smtp(error)?|s(erv(ices?|er)|ystem)|A(dmin(istrator)?|MMGR))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>\t][^<)]*(\(.*\).*)?)?$([^>]|$))
(نسخة مجردة من "^FROM_DAEMON:")، والتي من المفترض أن تلتقط رسائل البريد الواردة منها
معظم شياطين الإرسال.
لذا، للبحث عن جميع رسائل البريد الإلكتروني المرسلة أو الواردة إلى "Andy":
grepmail -Y '(^TO:|^From:)' صندوق بريد آندي
--مساعدة
اطبع رسالة مساعدة تلخص الاستخدام.
--
جميع الحجج التالية -- يتم التعامل معها كمجلدات بريد.
أمثلة
حساب عدد رسائل البريد الإلكتروني. ("." يطابق كل بريد إلكتروني.)
البريد الإلكتروني -r . البريد المرسل
احصل على جميع رسائل البريد الإلكتروني التي يتراوح حجمها بين 2000 و3000 بايت حول الكتب
كتب grepmail -s 2000-3000 البريد الإلكتروني المرسل
احصل على جميع رسائل البريد الإلكتروني التي أرسلتها بالأمس
grepmail -d أرسل البريد أمس
احصل على جميع رسائل البريد الإلكتروني التي أرسلتها بالبريد قبل أول يوم خميس من شهر يونيو عام 1998 والتي تتعلق بـ
البحث (يتطلب التاريخ::Manip):
بحث grepmail -d "قبل الخميس الأول من يونيو 1" أرسل بريدًا إلكترونيًا
احصل على جميع رسائل البريد الإلكتروني التي أرسلتها بالبريد قبل الأول من يونيو 1998 والمتعلقة بالبحث:
بحث grepmail -d "قبل 6/1/98" تم إرساله عبر البريد
احصل على جميع رسائل البريد الإلكتروني التي تلقيتها منذ 8/20/98 والتي لم تكن تتعلق بالبحث أو وظيفتك، متجاهلاً ذلك
قضية:
grepmail -iv "(بحث|وظيفة)" -d "منذ 8/20/98" بريد محفوظ
احصل على جميع رسائل البريد الإلكتروني المتعلقة بالتمثيل الصامت ولكن ليس بخصوص Netscape. تقييد البحث لمطابقة الجسم،
نظرًا لأن معظم الرؤوس تحتوي على النص "mime":
grepmail -b mime-البريد الإلكتروني المحفوظ | grepmail نتسكيب -v
اطبع قائمة بجميع صناديق البريد التي تحتوي على رسالة من رودني. قصر البحث على
الرؤوس، نظرًا لأن رسائل البريد الإلكتروني المقتبسة قد تتطابق مع النمط:
grepmail -hl "^From.*Rodney" البريد المحفوظ*
ابحث عن جميع رسائل البريد الإلكتروني التي تحتوي على النص "Pilot" في كل من الرأس والنص:
grepmail -hb "البريد التجريبي" المحفوظ*
اطبع عدد الرسائل المتعلقة بـ grepmail في جميع صناديق بريد البريد المحفوظة:
grepmail -br grepmail البريد المحفوظ*
إزالة أي تكرارات من صندوق البريد:
grepmail -u البريد المحفوظ
تحويل صندوق بريد Gnus إلى تنسيق mbox:
grepmail . gnus-mailbox-dir/* > mbox
ابحث عن جميع رسائل البريد الإلكتروني المرسلة أو الواردة من عنوان ما (مع الأخذ في الاعتبار الرؤوس الملتفة و
أسماء رؤوس مختلفة):
grepmail -Y '(^TO:|^من:)' [البريد الإلكتروني محمي] البريد المحفوظ
البحث عن جميع رسائل البريد الإلكتروني من مديري البريد:
grepmail -Y '^FROM_MAILER:' . البريد المحفوظ
استخدم grepmailp عبر الإنترنت باستخدام خدمات onworks.net