كيفية البحث عن نص في ملفات في نظام Linux

How Find Text Files Linux



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

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







البحث عن نص في الملفات

اعتمادًا على عدد الملفات التي يتعين عليك إجراء بحث عليها ، هناك طريقتان لإجراء البحث النصي: آلي أو يدوي. إذا كان عليك العمل مع ملفين نصيين ، فإن البحث اليدوي يكون أكثر ملاءمة. ومع ذلك ، إذا كان هناك المئات من الملفات النصية ، فإن البحث الآلي هو الأكثر كفاءة.



للبحث الآلي ، سنستخدم grep. يأتي Grep مثبتًا مسبقًا على أي توزيعة Linux. بالنسبة للبحث اليدوي ، فإن أي محرر نصوص حديث سوف يقوم بهذه المهمة.



ابحث عن نص في الملفات باستخدام grep

في Linux ، يعد grep الأداة الافتراضية للبحث عن النصوص. اسمها مشتق من الأمر ed g / re / p الذي يرمز إلى البحث العالمي عن تعبير عادي وطباعة سطور مطابقة. إنه متاح في أي توزيعة Linux حديثة.





Grep هي أداة سطر أوامر. هيكل قيادتها على النحو التالي.

$سيطرة <اختيار> <تعبير عادي> <مسار الملف>

كما يوحي اسم grep ، يوصف النمط المراد البحث عنه باستخدام تعبير عادي. التعبير العادي هو نوع خاص من السلاسل التي تصف نمطًا لمطابقته وتحديد موقعه وإدارته. لمعرفة المزيد حول grep والتعبير العادي ، تحقق من باستخدام grep و egrep مع التعبير النمطي .



لأغراض العرض التوضيحي ، احصل على نموذج لملف نصي. في هذا المثال ، قم بتنزيل ملف ملف نصي GNU General Public License v3.0 .

البحث الأساسي

الطريقة الأساسية لاستخدام grep هي البحث عن سلسلة أساسية.

ألق نظرة على الأمر grep التالي. سيبحث عن كلمة GNU في الملف النصي.

$سيطرة 'غنو'غاز البترول المسال-3.0.رسالة قصيرة

لإظهار رقم السطر ، استخدم العلامة -n.

$سيطرة جنو gpl-3.0.رسالة قصيرة

لإجراء بحث غير حساس لحالة الأحرف باستخدام grep ، استخدم علامة -i.

$سيطرة -نيgnu gpl-3.0.رسالة قصيرة

قد لا ترغب في رؤية تطابق البحث ولكن فقط اسم الملف الذي حدثت فيه المطابقة في بعض المواقف. لطباعة اسم الملف فقط ، استخدم العلامة -l. هنا ، تشير علامة النجمة إلى استخدام جميع الملفات النصية في الدليل الحالي.

$سيطرة -الجنو*

يمكننا أيضًا توجيه إخراج الأوامر الأخرى إلى grep.

$قطغاز البترول المسال-3.0.رسالة قصيرة| سيطرة جنو

تعبير عادي

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

لتعريف أن السلسلة يمكن العثور عليها عند بدء السطر ، استخدم رمز علامة الإقحام (^).

$سيطرة ^ جنو gpl-3.0.رسالة قصيرة

لتحديد أن السلسلة موجودة في نهاية السطر ، استخدم علامة الدولار ($).

$سيطرة إلى $ gpl-3.0.رسالة قصيرة

لوصف إمكانية وجود أي حرف في مكان معين من النمط ، استخدم حرف النقطة (.). على سبيل المثال ، يكون التعبير G.U صالحًا إذا كان هناك أي حرف بين G و U.

$سيطرة G.U gpl-3.0.رسالة قصيرة

لوصف أنه يمكن أن يكون هناك مجموعة فرعية من الأحرف في موقع معين من النمط ، استخدم الأقواس ([]). على سبيل المثال ، يخبر التعبير t [wo] o أن المطابقة صالحة لشخصين وفقط.

$سيطرة ر[أين]س gpl-3.0.رسالة قصيرة

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

كما يوحي الاسم ، يمكن للتعبير النمطي الممتد القيام بأشياء أكثر تعقيدًا من التعبيرات النمطية الأساسية. لاستخدام التعبير العادي الممتد مع grep ، يجب عليك استخدام العلامة -E.

$سيطرة -ولد <تمديد_ريغكس> <ملف>

للبحث عن سلسلتين مختلفتين ، استخدم عوامل التشغيل OR (|).

$سيطرة -ولدجنو|جنرال لواء|رخصة gpl-3.0.رسالة قصيرة

البحث عن نص في الملفات

الآن يأتي الجزء الرئيسي. بدلاً من إخبار grep بالملف يدويًا لإجراء البحث ، يمكن لـ grep القيام بذلك تلقائيًا. في الأمر التالي ، سيستخدم grep جميع الملفات النصية المتاحة في الدليل الحالي للبحث في النمط.

$سيطرة <regex> *

إذا كنت تريد grep لإجراء البحث في دليل مختلف ، فعليك تحديد الموقع.

$سيطرة <regex> <مسار الدليل>

في حالة وجود مجلدات ، لا يستكشفها grep افتراضيًا. لإخبار grep بالبحث بشكل متكرر ، استخدم العلامة -R.

$سيطرة -nR <regex> <مسار الدليل>

قبضة GUI

إذا كنت تفضل العمل مع واجهة المستخدم الرسومية ولكنك لا تزال ترغب في الاستمتاع بميزات grep ، فراجع searchmonkey. إنه حل أمامي لـ grep. الحزمة متاحة في جميع توزيعات Linux الرئيسية تقريبًا.

البحث عن نص في الملفات باستخدام nano

GNU Nano هو محرر نصوص بسيط وقوي يأتي مع أي توزيعة Linux. يحتوي على ميزات مضمنة للبحث عن نص في ملف نصي.

لاحظ أنه في هذه الطريقة ، يجب عليك فتح الملف النصي والبحث يدويًا. يمكن تنفيذه إذا كان هناك عدد قليل فقط من الملفات النصية للعمل معها. إذا كان هناك المزيد ، فإن استخدام grep هو الخيار الأمثل.

افتح الملف النصي في nano.

$نانو <مسار الملف>

للبحث عن تطابق سلسلة ، اضغط على Ctrl + W. بعد كتابة السلسلة للبحث عنها ، اضغط على Enter.

ابحث عن نص في الملفات باستخدام Vim

Vim هو محرر نصوص معروف ومشهور. إنه مكافئ سطر الأوامر لمحرر نصوص حديث. يأتي Vim مع العديد من الميزات المتقدمة مثل المكونات الإضافية ووحدات الماكرو والإكمال التلقائي والفلاتر وما إلى ذلك.

على غرار nano ، يعمل Vim مع ملف واحد في كل مرة. إذا كان لديك ملفات نصية متعددة ، فإن استخدام grep هو أفضل طريقة للذهاب.

للبحث في ملف نصي ، افتحه أولاً في Vim.

$انا قد جئت <مسار الملف>

أدخل أمر Vim التالي واضغط على Enter.

$:/<مصطلح البحث>

ابحث عن نص في الملفات باستخدام محرر نصوص جنوم

محرر نصوص جنوم هو محرر النصوص الذي يأتي مع سطح مكتب جنوم. إنه محرر نصوص مبسط يحتوي على جميع الميزات الأساسية التي تتوقعها. إنه بديل جيد لمحررات نص سطر الأوامر.

على غرار nano و vim ، ينطبق نفس الحذر على هذه الطريقة. إذا كان عدد الملفات النصية كبيرًا ، فمن الأفضل أن تلتزم بـ grep.

افتح الملف النصي في محرر النصوص. اضغط على Ctrl + F لإظهار شريط البحث.

ابحث عن نص في الملفات باستخدام VS Code

Visual Studio Code هو محرر نصوص قوي يحتوي على العديد من الميزات. تم تحسينه للمبرمجين لاستخدامه كما لو كان IDE كامل. إنه متاح في جميع توزيعات Linux الرئيسية تقريبًا.

قم بتثبيت حزمة الأداة الإضافية Visual Studio Code.

$سودويفرقع، ينفجرتثبيتالشفرة- كلاسيكي

افتح الملف النصي في VS Code. اضغط على Ctrl + F لبدء البحث.

افكار اخيرة

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

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

حوسبة سعيدة!