Findstr: أمثلة وتلميحات باستخدام أداة CMD Windows المفيدة

بالنسبة للمبتدئين ، قد تبدو أداة البحث عن الأنماط مثل findstr عديمة الفائدة. ولكن عند التعامل مع ملفات السجل التي ينشئها النظام أو مخرجات سطر الأوامر التي تحتوي على مئات الأسطر النصية ، فإن findstr هي الأداة التي تحتاجها فقط.

سيكون مستخدمو نظام تشغيل Linux على دراية بالأداة الرائعة لأمر Grep ، ويلعب findstr دورًا مشابهًا في Microsoft Windows . يمكنك دمجها مع أوامر أخرى(other commands) باستخدام الأنابيب أو تشغيلها مباشرة لتحليل عدة ملفات نصية. لنلق نظرة على كيفية عمل findstr مع بعض الأمثلة.

باستخدام Findstr Command

الصيغة الأساسية بسيطة - findstr ، أينهو النمط المراد البحث عنه ، وهو عنوان الملف المراد البحث فيه. افتح موجه الأوامر وجربه(Command Prompt) .

findstr SFC example1.txt

سيجد هذا الأمر ويخرج جميع الأسطر التي تحتوي على سلسلة البحث SFC . لاحظ أنه افتراضيًا ، يكون findstr حساسًا لحالة الأحرف ، لذلك لن تتم مطابقة أي إشارات لـ SFC .

المعلمات

يمكنك تخصيص طريقة عمل findstr بشكل أكبر من خلال تضمين معلمات اختيارية. مفاتيح مثل / B أو / I تعدل سلوك findstr ، وتفرض شروطًا إضافية على البحث. فمثلا:

findstr /I SFC example1.txt

يؤدي تضمين / I كمعامل إلى جعل حالة البحث غير حساسة ، مما يسمح بمطابقة جميع إشارات المصطلح ، بغض النظر عن الكتابة بالأحرف الكبيرة. يمكنك العثور على قائمة بجميع معلمات findstr في مستندات Microsoft الرسمية(official Microsoft docs) .

أنماط اختيارية

المعلمات ليست هي الطريقة الوحيدة التي يمكنك من خلالها تخصيص findstr. على سبيل المثال ، يتيح لك تضمين <string> في علامات الاقتباس تحديد أنماط متعددة ، مما يمنحك تطابقًا في حالة العثور على أي من السلاسل النصية.

findstr "SFC DISM" example1.txt

ما ورد أعلاه سيعود سطور مطابقة تحتوي على أي من المصطلحات. هذا يجعله مفيدًا عند البحث عن إشارة لعنصر بأسماء مختلفة.

التعبيرات العادية

Findstr قادر على البحث في ملفات متعددة. التغييرإلى تعبير عادي يجعل الأمر يبحث عن النمط المحدد في جميع الملفات المطابقة.

findstr SFC *.txt

يؤدي استخدام حرف البدل إلى مطابقة regex لجميع الملفات النصية في الدليل الحالي والأدلة الفرعية الخاصة به. يتم أيضًا فصل النتائج حسب أسماء الملفات ، مما يتيح لك معرفة السطر الذي نشأ من أي ملف.

أنابيب

مثل معظم أوامر cmd ، يمكن أيضًا استخدام findstr في إخراج أوامر أخرى. ما عليك(Just) سوى إضافة أنبوب بعد نهاية الأمر الهدف واستدعاء findstr بدون ملف.

dir | findstr .txt

يؤدي هذا إلى تشغيل بحث findstr عن إخراج الأمر dir ، وإرجاع قائمة الملفات التي تنتهي بـ .txt . بالطبع ، هذا المثال بالذات عديم الفائدة من الناحية العملية لأن dir يمكنه بالفعل تحديد موقع ملفات من نفس النوع بتعبير عادي.

يمكن للمرء أيضًا أن يأخذ المسار الأطول لإعادة توجيه الإخراج إلى ملف نصي(redirecting the output to a text file) ثم استخدام findstr في الملف النصي ، ولكن من الأسهل قص الوسيط.

تطبيقات Findstr في Windows

تتضح الاستخدامات الواضحة لـ findstr بسهولة من بناء الجملة وحده. يمكنك البحث عن ملفات نصية بسلسلة نصية معينة أو معرفة ما إذا كانت سلسلة معينة مضمنة في ملف.

هذا ، على الرغم من كونه مفيدًا من الناحية النظرية ، إلا أنه نادرًا ما يستخدم خارج الحالات النادرة. في عصر الخدمات السحابية مثل محرّر مستندات Google(Google Docs) ، لم يعد لدى معظم الأشخاص العديد من الملفات النصية.

التطبيقات الفعلية لـ findstr أكثر دقة قليلاً وتتضمن نتائج أكثر قوة. فيما يلي بعض الأمثلة الأكثر إثارة للاهتمام.

البحث عن أنواع معينة من الملفات

يتضمن الأمر dir بالفعل خيار البحث عن أسماء الملفات باستخدام التعبيرات العادية. ولكن باستخدام findstr ، يمكنك البحث عن الملفات التي تشترك في سمات أخرى ، مثل وقت الإنشاء أو تاريخه.

افترض(Suppose) حدوث خطأ في الساعة 06:43 مساءً ، وتريد تحديد موقع كافة ملفات السجل التي تم إنشاؤها في ذلك الوقت. باستخدام الأمر dir وحده ، سيتعين عليك تدقيق النتائج يدويًا أو الحصول على جميع ملفات السجل ومقارنتها. باستخدام findstr ، يصبح هذا أمرًا بسيطًا.

dir | findstr 06:43

يمكنك تجربة نفس الحيلة للعثور على الملفات التي تم إنشاؤها في تاريخ معين أو الحصول على قائمة من الدلائل.

dir | findstr DIR

تصفية معلومات الشبكة(Network Information) باستخدام Netstat

Netstat هو أمر سهل الاستخدام من Windows يمنحك جميع المعلومات حول اتصالات شبكة الكمبيوتر - الكثير من المعلومات ، حيث يأتي findstr.

يتيح لك إدخال إخراج netstat في findstr البحث عن اتصالات ذات خصائص محددة. على سبيل المثال ، هذه هي الطريقة التي يمكنك بها الحصول على قائمة بجميع الاتصالات القائمة.

netstat | findstr ESTABLISHED

هذه الحيلة مفيدة عند تشخيص مشاكل الشبكة. يمكنك حتى استخدام findstr مع تطبيق PID للعثور على جميع الاتصالات المفتوحة من خلال عملية معينة.

netstat -o | findstr 13120

الحصول على عناوين IP محددة

يتيح لك الأمر ipconfig عرض تفاصيل جميع واجهات شبكة الأنظمة ، بما في ذلك عناوين IP. يمكنك استخدام findstr لاستخراج نوع معين من عناوين IP دون الحاجة إلى التمرير خلال كل شيء.

ipconfig | findstr Temporary

يمكنك توسيع هذه الطريقة للحصول على أي معلومات من ipconfig ، من أقنعة الشبكة الفرعية إلى عناوين البوابة.

تحليل ملفات البرنامج النصي

أيًا كانت لغة البرمجة التي تُبرمج بها ، فإن ملفات البرامج النصية هي في النهاية مجرد نصوص. هذا يعني أنه يمكنك استخدام findstr لتحليل البرامج النصية واسترداد أقسام معينة دون البحث في الشفرة بأكملها.

لنفترض(Say) أننا نريد أن نرى كيف تم استخدام عبارة if في نص برمجي معين. يمكننا استخدام الأمر التالي:

findstr إذا كان script.ahk(findstr if script.ahk )

لن يعرض هذا الأسطر باستخدام عبارة if فحسب ، بل سيعرض لنا أيضًا التعبيرات المستخدمة. يمكنك أيضًا تضمين المعلمة / N لعرض أرقام الأسطر ، وهو أمر مفيد جدًا لملفات البرامج النصية.

findstr /N if script.ahk

هل Findstr يستحق الاستخدام؟

تتمثل الصعوبة الرئيسية في التنقل في واجهة سطر الأوامر في مقدار النص الذي يحتاج المرء إلى التدقيق فيه. Findstr هو أداة أساسية لاستخراج المعلومات المفيدة وتصفية البريد غير الهام.

نظرًا لأن جميع أوامر المحطة الطرفية تعطي مخرجات تستند إلى النص ، فيمكن دائمًا استخدام findstr لتحديد موقع البيانات ذات الصلة. من استكشاف مشكلات الشبكة وإصلاحها(troubleshooting network issues) إلى العثور على الملفات الصحيحة ، يتم جعل كل إجراء أكثر فاعلية باستخدام findstr.

حتى خارج تآزرها مع الأوامر الأخرى ، فإن findstr مفيدة لقدرتها على اجتياز محتويات الملفات النصية. يمكنك العثور على أخطاء محددة في ملفات السجل المنشأة آليًا أو استرداد أقسام من التعليمات البرمجية في نص برمجي معقد.

باختصار ، findstr هي أداة لا غنى عنها في ترسانة أي مستخدم Windows متقدم ، خاصةً الذي يعتزم التعرف على واجهة سطر الأوامر.



About the author

أنا مهندس برمجيات ذو خبرة ولدي أكثر من 10 سنوات من الخبرة في تطوير وإدارة حسابات المستخدمين وأمان العائلة وتكنولوجيا Google Chrome. لدي أساس قوي في الرياضيات وعلوم الكمبيوتر أستخدمه لإنشاء أوصاف واضحة وموجزة لمهاراتي.



Related posts