كيف يمكنني البحث عن الأنماط في الشاشة باستخدام Perl regex؟
-
03-07-2019 - |
سؤال
لدي عملية تمنحني الإخراج بشكل مستمر في الشاشة.أرغب في البحث عن كلمات CamelCase من خلال التعبير العادي لـ Perl التالي في الإخراج حتى أتمكن من مراقبة المخرجات بشكل فعال.
/\b([a-z]*[A-Z][a-z]*){2,}\b/
المحلول
واختبرت في GNU / الشاشة والتحقق من شفرة المصدر. كلا تشير إلى أن هذا غير ممكن. تظهر ميزة البحث لدعم مطابقة السلسلة الأساسية فقط.
وماذا أقترح أن استخدام الأمر tee
لإرسال الإخراج البرنامج إلى ملف بالإضافة إلى طباعته. يمكنك استخدام بيرل أو البقرى على الملف بعد ذلك.
$ your_program | tee your_program_output
$ grep pattern your_program_output
نصائح أخرى
نعم، القبض على الانتاج والبحث ذلك. جنو / الشاشة ليست الأداة المناسبة للحصول على البيانات والكثير من الأشياء يمكن أن تسوء مع هذا. ولكن من الواضح لا يزال بإمكانك تشغيله داخل جلسة الشاشة.
إذا قمت بالفعل بتشغيل البرنامج داخل الشاشة بدون نقطة الإنطلاق وتفضل عدم تشغيله مرة أخرى، بافتراض أن المخزن المؤقت للتمرير الخلفي الخاص بك كبير بما يكفي, ، أنت تستطيع انسخ المخزن المؤقت للتمرير الخلفي بالكامل إلى ملف ثم ابحث بالطريقة المفضلة لديك.