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

إجابة سريعة

البحث في الملفات النصية: استخدم grep أو ripgrep للنصوص العادية، والتعليمات البرمجية، والسجلات، وملفات الإعدادات.
البحث داخل المستندات: استخدم تطبيق سطح مكتب للبحث في ملفات PDF وWord وExcel وLibreOffice وغيرها.
هل تبحث عن ملف حسب اسمه بدلًا من ذلك؟ استخدم find أو locate.

 

اختبرت مجموعة واسعة من أوامر وتطبيقات البحث عن الملفات في Linux—أكثر بكثير مما تتناوله هذه المقالة—واخترت أكثر الطرق عملية وفعالية. اختبرت الأمثلة على Ubuntu باستخدام المجموعة نفسها من ملفات TXT وPDF وODT وDOCX وغيرها من الملفات المستخدمة في جميع أجزاء المقالة.

 

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

 

 

ما طريقة البحث في Linux التي ينبغي لك استخدامها؟

 

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

 

المهمة الخيار الأفضل
البحث في الملفات النصية باستخدام أمر قياسي في Linux grep
البحث بسرعة في الملفات النصية داخل المجلدات الكبيرة ripgrep
العثور على ملف حسب اسمه، لا حسب محتواه find أو locate
البحث داخل ملفات PDF وWord وLibreOffice وExcel وغيرها من المستندات SeekFast
استخدام أداة مجانية ومفتوحة المصدر للبحث المفهرس في المستندات Recoll أو DocFetcher

 

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

 

 

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

 

الأمر grep هو أداة Linux القياسية للعثور على نص داخل الملفات. وهو الأنسب للنصوص العادية، والتعليمات البرمجية المصدرية، والسجلات، وملفات CSV، وملفات Markdown، وملفات الإعدادات.

 

للبحث عن كلمة في ملفات .txt الموجودة في المجلد الحالي، استخدم:

grep "budget" *.txt

 

للبحث في مجلد وجميع مجلداته الفرعية، استخدم البحث المتكرر:

grep -R "budget" ~/Documents/stories

 

عمليًا، أضيف عادةً أرقام الأسطر وأسماء الملفات، لأنها تجعل النتائج أسهل في الاستخدام:

grep -RIn "budget" ~/Documents/stories

 

إليك معنى الخيارات:

  • يبحث الخيار -R في المجلدات بصورة متكررة.
  • يتخطى الخيار -I الملفات الثنائية.
  • يعرض الخيار -n أرقام الأسطر.
Recursive grep search for budget in text files on Linux, with an arrow highlighting the command

 

البحث غير الحساس لحالة الأحرف

لتجاهل الاختلافات بين الأحرف الكبيرة والصغيرة، أضف -i:

grep -RIn -i "report" ~/Documents/stories

 

يمكن لهذا العثور على "report" و"Report" و"REPORT".

 

البحث عن الكلمات الكاملة فقط

لمطابقة كلمة كاملة، أضف -w:

grep -RIn -w "policy" ~/Documents/stories

 

يؤدي هذا إلى تجنب المطابقات داخل كلمات أطول مثل "policyholder".

 

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

للبحث فقط في الملفات ذات امتداد معين، استخدم --include:

grep -RIn --include="*.txt" "budget" ~/Documents/stories

 

لعدة امتدادات، كرر الخيار:

grep -RIn --include="*.txt" --include="*.md" "budget" ~/Documents/stories

 

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

 

استبعاد مجلدات من البحث

غالبًا ما تحتوي المجلدات الكبيرة على أدلة لا تريد البحث فيها، مثل archive أو drafts أو النسخ الاحتياطية. يمكنك استبعادها كما يلي:

grep -RIn --exclude-dir="archive" --exclude-dir="drafts" "risk" ~/Documents/stories

 

يجعل هذا النتائج أوضح ويمكن أن يسرّع البحث بدرجة كبيرة.

 

البحث عن عبارة مطابقة تمامًا أو عدة سلاسل نصية

للبحث عن عبارة مطابقة تمامًا، ضع العبارة بين علامتي اقتباس:

grep -RIn "sales report" ~/Documents/stories

 

للبحث عن أي سلسلة من بين عدة سلاسل نصية، أضف خيار -e واحدًا لكل سلسلة:

grep -RIn -e "sales" -e "budget" -e "payment" ~/Documents/stories

 

يمكنك أيضًا استخدام التعبيرات النمطية الموسعة مع -E:

grep -RInE "customer|product|service" ~/Documents/stories

 

يطابق كلا الأمرين سطرًا يحتوي على واحدة على الأقل من السلاسل النصية. إذا كنت بحاجة إلى ملفات تحتوي على كل من "sales" و"payment"، حتى لو وردتا في سطرين مختلفين، فرشّح أسماء الملفات على خطوتين:

grep -RIlZ "sales" ~/Documents/stories | xargs -0 -r grep -Il "payment"

grep search for sales, budget, and payment with file and directory filters on Linux

هذه هي حالات الاستخدام الأكثر شيوعًا للأمر grep. للاطلاع على المرجع الكامل، راجع دليل GNU grep.

 

عندما لا يكون grep كافيًا

الأمر grep قوي، لكنه يظل أداة للبحث في النصوص العادية. ويعمل عادةً بصورة جيدة مع الملفات المخزنة كنص قابل للقراءة. لكنه ليس حلًا عامًا جيدًا لمستندات Word أو جداول بيانات Excel أو ملفات LibreOffice أو ملفات PDF أو الكتب الإلكترونية أو تنسيقات المستندات الأخرى.

 

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

 

 

استخدام ripgrep للبحث الأسرع عبر سطر الأوامر

 

أداة ripgrep، التي تُشغَّل عادةً باسم rg، هي أداة حديثة للبحث عبر سطر الأوامر. يوضح دليل ripgrep الرسمي أنها تبحث في الأدلة بصورة متكررة افتراضيًا وتطبق التصفية التلقائية. وغالبًا ما تكون أسرع من grep القياسي عند إجراء عمليات بحث متكررة في مجلدات كبيرة من التعليمات البرمجية والنصوص.

 

للبحث في المجلد الحالي ومجلداته الفرعية، استخدم:

rg "budget"

 

للبحث في مجلد محدد:

rg "budget" ~/Documents/stories

 

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

rg "budget" -g "*.txt" ~/Documents/stories

 

تحترم أداة ripgrep أيضًا ملف .gitignore افتراضيًا، وهو أمر مفيد في مشروعات التعليمات البرمجية المصدرية لأنها تتخطى تلقائيًا الكثير من الملفات المُنشأة أو غير ذات الصلة.

 

استخدم ripgrep عند البحث في التعليمات البرمجية أو السجلات أو Markdown أو ملفات الإعدادات أو غيرها من النصوص العادية. أما بالنسبة إلى ملفات PDF وWord وLibreOffice وExcel وغيرها من المستندات، فاستخدم أداة للبحث في المستندات بدلًا منها.

ripgrep search for sales, marketing, and customer in a Linux folder

 

أيهما ينبغي لك استخدامه: grep أم ripgrep؟

تبحث كلتا الأداتين في محتويات النصوص العادية، لكن كلًا منهما يناسب سير عمل مختلفًا قليلًا:

  • استخدم grep إذا أردت أمرًا قياسيًا متوفرًا بالفعل على جميع أنظمة Linux تقريبًا.
  • استخدم ripgrep لإجراء عمليات بحث متكررة وسريعة في مستودعات التعليمات البرمجية والمجلدات النصية الكبيرة.
  • تبحث أداة ripgrep في المجلدات الفرعية افتراضيًا وتحترم .gitignore، بينما يتطلب الأمر grep خيارات البحث المتكرر ويبحث بصورة أكثر حرفية ما لم تستبعد بعض المسارات.
  • استخدم أداة للبحث في المستندات بدلًا من أي من الأمرين عند التعامل مع PDF وWord وExcel وLibreOffice وغيرها من تنسيقات المستندات المعقدة.

 

كيفية تثبيت ripgrep على Ubuntu وMint وFedora وDebian وتوزيعات Linux الأخرى

أوامر البحث الخاصة بـripgrep هي نفسها في مختلف توزيعات Linux. ولا يتغير سوى أمر التثبيت حسب مدير الحزم. تتبع الأوامر أدناه تعليمات تثبيت ripgrep الرسمية.

 

التوزيعة تثبيت ripgrep
Ubuntu وLinux Mint وDebian sudo apt install ripgrep
Fedora sudo dnf install ripgrep
openSUSE sudo zypper install ripgrep
Arch Linux sudo pacman -S ripgrep

 

 

العثور على الملفات والأدلة حسب الاسم في Linux

 

إذا كنت تعرف اسم الملف كاملًا أو جزءًا منه، فاستخدم الأمر find. يوثق دليل GNU Findutils عوامل التصفية الخاصة باسم الملف والوقت والحجم وغيرها. لا يبحث الأمر في النص المخزن داخل الملفات؛ استخدم grep أو ripgrep لهذا الغرض.

 

للعثور على ملفات تحتوي أسماؤها على كلمة معينة في مجلد stories ومجلداته الفرعية، استخدم:

find ~/Documents/stories -type f -iname "*profit*"

 

استخدم -iname لإجراء مطابقة جزئية غير حساسة لحالة الأحرف:

find ~/Documents/stories -type f -iname "*shopping*"

 

تطابق علامتا النجمة أي أحرف قبل "shopping" أو بعدها. للعثور على دليل بدلًا من ملف، غيّر -type f إلى -type d:

find ~/Documents/stories -type d -iname "*archive*"

 

يمكنك أيضًا تصفية الملفات حسب الامتداد أو تاريخ التعديل أو الحجم:

find ~/Documents/stories -type f -iname "*.pdf"

find ~/Documents/stories -type f -mtime -7

find ~/Documents/stories -type f -size +100M

 

تعثر هذه الأوامر، بالترتيب، على ملفات PDF، والملفات التي عُدلت خلال الأيام السبعة الماضية تقريبًا، والملفات التي يزيد حجمها على 100 ميغابايت.

 

العثور على الملفات بسرعة أكبر باستخدام locate

يبحث الأمر locate في قاعدة بيانات لأسماء الملفات بدلًا من فحص نظام الملفات في كل مرة، ولذلك تكون عمليات البحث عن أسماء الملفات عادةً أسرع بكثير مقارنةً بـfind. يشرح دليل plocate كيفية عمل البحث المفهرس هذا:

locate -i "profit"

 

نظرًا إلى أن locate يستخدم فهرسًا، فقد لا تظهر الملفات الحديثة جدًا حتى تُحدّث قاعدة البيانات. في الأنظمة التي تملك فيها إذن تحديثها، استخدم:

sudo updatedb

 

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

Comparison of find and locate commands for filenames containing profit on Linux

 

ما الذي تبحث فيه فعليًا كل طريقة بحث في Linuxتبحث الأدوات المختلفة في طبقات مختلفة من ملفاتك.
Four searchable layers in Linux with find, locate, grep, ripgrep, SeekFast, Recoll, DocFetcher, and ChatGPT

 

أفضل أدوات البحث في المستندات لنظام Linux

 

صُممت أداتا grep وripgrep للنصوص العادية. للبحث في ملفات PDF وWord وExcel وLibreOffice والكتب الإلكترونية وغيرها من التنسيقات، استخدم أحد تطبيقات البحث في المستندات أدناه؛ أما ملفات PDF الممسوحة ضوئيًا التي تحتوي على صور فقط فتتطلب التعرف الضوئي على الحروف أولًا.

 

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

 

يُعد Recoll وDocFetcher خيارين جيدين عندما تفضل البرامج المجانية ومفتوحة المصدر ولا تمانع في إنشاء فهرس مسبقًا. يتطلب إنشاء الفهرس بعض التحضير، لكنه قد يجعل عمليات البحث المتكررة في مجموعة مستقرة من المستندات أكثر عملية.

 

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

 

 

SeekFast

 

SeekFast هو أداة للبحث في المستندات لأنظمة Windows وmacOS وLinux. وقد صُمم للبحث داخل مجموعات كبيرة من المستندات بدلًا من البحث في الملفات النصية العادية فقط من خلال الطرفية.

 

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

SeekFast search for company and sales across PDF, TXT, and DOCX files on Linux

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

 

تشمل الميزات الرئيسية:

  • البحث في المستندات - البحث في أكثر من 120 تنسيق ملف مدعوم، بما في ذلك PDF وWord وLibreOffice وExcel والملفات النصية والكتب الإلكترونية.
  • معاينات الجمل المطابقة - رؤية النص ذي الصلة قبل فتح الملف.
  • نتائج مرتبة حسب الصلة - تظهر الملفات ذات المطابقات الأفضل في مواضع أعلى ضمن النتائج.
  • البحث بعدة كلمات مفتاحية - العثور على المستندات حتى عندما لا تكون الكلمات متجاورة.
  • سير عمل رسومي - لا حاجة إلى إنشاء أوامر طرفية لمهام البحث الشائعة في المستندات.

 

المزايا

  • أكثر سهولة بكثير من grep للمجلدات التي تحتوي على مستندات فعلية.
  • يعمل بصورة جيدة عندما تتذكر كلمات من المستند لكنك لا تتذكر اسم الملف.
  • يعرض السياق، بحيث يمكنك تقييم النتائج قبل فتح الملفات.
  • مفيد للمجلدات المختلطة التي تحتوي على ملفات PDF وOffice وLibreOffice والملفات النصية وغيرها من التنسيقات.

 

العيوب

  • يقتصر الإصدار المجاني من SeekFast على البحث في ما يصل إلى 50 ملفًا في المرة الواحدة.
  • ليس مخصصًا ليحل محل grep أو ripgrep عند البحث في التعليمات البرمجية المصدرية.
  • لا يدعم أساليب العمل المتقدمة باستخدام التعبيرات النمطية مثل أدوات سطر الأوامر المتخصصة.

 

إذا كانت مهمتك الرئيسية هي البحث داخل مستندات كثيرة بدلًا من البحث في التعليمات البرمجية أو ملفات السجل، فنزّل SeekFast وجرّبه مع أحد مجلدات مستنداتك.

 

 

Recoll

 

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

Recoll search results for business across TXT, PDF, and DOCX files on Linux

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

 

المزايا

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

 

العيوب

  • قد تستغرق الفهرسة والإعداد الأوليان بعض الوقت.
  • قد يبدو سير العمل تقنيًا للمستخدمين العاديين.
  • قد يعتمد دعم تنسيقات المستندات على حزم النظام المثبتة.

 

 

DocFetcher

 

DocFetcher هو تطبيق مجاني ومفتوح المصدر للبحث على سطح المكتب لأنظمة Linux وWindows وmacOS. وDocFetcher Pro إصدار منفصل مدفوع يوفر ميزات إضافية. وكما هو الحال مع Recoll، يعمل عن طريق إنشاء فهارس للمجلدات التي تختارها.

DocFetcher search results for business with a matching document preview on Linux

يدعم DocFetcher تنسيقات المستندات الشائعة مثل PDF وMicrosoft Office وOpenDocument وHTML والنصوص العادية. وقد يكون مفيدًا عندما تريد أداة مجانية متعددة المنصات ولا تمانع في إنشاء الفهارس قبل البحث.

 

المزايا

  • الإصدار القياسي من DocFetcher مجاني ومفتوح المصدر.
  • متوفر لأنظمة Linux وWindows وmacOS.
  • يمكنه عرض معاينات نصية من المستندات المفهرسة.

 

العيوب

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

 

 

 

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

 

لاستخدامه مع الملفات المحلية، افتح مجلدًا محليًا في ChatGPT Work أو Codex وامنحه حق الوصول إلى الملفات التي تريد استخدامها. يمكنك بعد ذلك طرح أسئلة باللغة الطبيعية، مثل:

  • "اعثر على المستندات التي تناقش مخاطر الأعمال."
  • "قارن تقارير المبيعات واعرض أهم الاختلافات."
  • "اعثر على المعلومات المتعلقة بهذا المشروع ولخّصها."
Codex in the ChatGPT desktop app summarizing business risks from local files on Linux

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

 

المزايا

  • يقبل الأسئلة باللغة الطبيعية بدلًا من الاقتصار على الكلمات المفتاحية أو التعبيرات النمطية.
  • يمكنه تلخيص المعلومات من عدة ملفات ومقارنتها وتفسيرها.
  • مفيد عندما تكون الخطوة التالية هي فهم النتائج، لا مجرد تحديد موضع عبارة.

 

العيوب

  • لم يُصمم لضمان العثور على كل ظهور مطابق تمامًا، لذا استخدم grep أو ripgrep عندما يكون الاكتمال مهمًا.
  • لا يوفر سير عمل البحث المفهرس المتخصص نفسه الذي توفره SeekFast أو Recoll أو DocFetcher.
  • لا يزال إصدار Linux في مرحلة المعاينة ولا يدعم رسميًا سوى توزيعات محددة.
  • يتطلب حساب ChatGPT ويستخدم خدمات عبر الإنترنت بدلًا من العمل بالكامل دون اتصال. راجع كيفية استخدام OpenAI لبيانات ChatGPT وCodex ومتطلبات الخصوصية لديك قبل استخدامه مع المستندات الحساسة.

 

استخدم ChatGPT كأداة مكملة لأدوات البحث التقليدية: يُعد grep وripgrep أفضل لعمليات البحث النصي المطابق تمامًا، وتُعد تطبيقات البحث في المستندات أفضل لتصفح المجموعات والحصول على نتائج متوقعة، بينما يفيد ChatGPT عندما تريد فهم المعلومات التي تعثر عليها أو مقارنتها أو تلخيصها.

 

 

الخلاصة

 

شاركتُ في هذه المقالة الطرق التي حققت أفضل النتائج في اختباراتي للعثور على الملفات والبحث في محتوياتها على Linux. لكن مستخدمي Linux غالبًا ما تكون لديهم أدواتهم وأساليب عملهم المفضلة. ما الطريقة التي تستخدمها؟ هل أغفلتُ أمرًا أو تطبيقًا مفيدًا؟

 

يمكنك مشاركة تجربتك بإحدى الطرق التالية:

 

 

الأسئلة الشائعة

 

1. كيف أعثر على ملف حسب اسمه في Linux؟
استخدم الأمر find. على سبيل المثال:

find ~/Documents/stories -type f -iname "*profit*"

يبحث هذا في مجلد stories ومجلداته الفرعية عن أسماء ملفات تحتوي على "profit"، دون مراعاة حالة الأحرف.

 

2. ما الفرق بين find وgrep؟
يبحث الأمر find في أسماء الملفات والمسارات وخصائص الملفات. أما الأمر grep فيبحث في النص المخزن داخل الملفات النصية العادية. إذا كنت تعرف اسم الملف، فاستخدم find؛ وإذا كنت تتذكر كلمات من الملف، فاستخدم grep أو أداة للبحث في المستندات.

 

3. هل ينبغي أن أستخدم find أم locate؟
استخدم find للحصول على نتائج حديثة وعوامل تصفية تفصيلية. واستخدم locate للبحث بسرعة أكبر عن اسم ملف من خلال فهرس مُنشأ مسبقًا. قد لا تظهر الملفات المُنشأة حديثًا في locate حتى تُحدّث قاعدة بياناته.

 

4. كيف أبحث عن نص في جميع الملفات داخل مجلد في Linux؟
الأمر grep -R هو الخيار القياسي. على سبيل المثال:

grep -RIn "budget" ~/Documents/stories

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

 

5. كيف أبحث في المجلدات الفرعية أيضًا؟
استخدم البحث المتكرر مع grep -R:

grep -RIn "budget" ~/Documents/stories

يبحث هذا الأمر في مجلد stories ومجلداته الفرعية، ويتخطى الملفات الثنائية، ويعرض أرقام الأسطر.

 

6. كيف أبحث في أنواع ملفات معينة فقط؟
استخدم --include. على سبيل المثال:

grep -RIn --include="*.txt" "budget" ~/Documents/stories

يمكنك تكرار --include لعدة امتدادات.

 

7. كيف أستبعد مجلدات من بحث grep؟
استخدم --exclude-dir. على سبيل المثال:

grep -RIn --exclude-dir="archive" --exclude-dir="drafts" "risk" ~/Documents/stories

 

8. كيف أبحث عن عدة كلمات محتملة؟
أضف خيار -e واحدًا لكل سلسلة نصية. على سبيل المثال:

grep -RIn -e "sales" -e "budget" -e "payment" ~/Documents/stories

يعثر هذا على الأسطر التي تحتوي على أي من السلاسل النصية.

 

9. هل ripgrep أفضل من grep؟
غالبًا ما تكون أداة ripgrep أسرع وأكثر ملاءمة لعمليات البحث المتكررة في مجلدات التعليمات البرمجية والنصوص الكبيرة، بينما يتوفر الأمر grep افتراضيًا على جميع أنظمة Linux تقريبًا ويُعد مثاليًا لعمليات البحث النصي العادية. ولا تُعد أي منهما أداة عامة للبحث في المستندات.

 

10. لماذا لا يعثر grep على النص داخل ملفات PDF أو Word لدي؟
صُمم الأمر grep للنصوص العادية. تخزن ملفات PDF وWord وLibreOffice وExcel النصوص في تنسيقات أكثر تعقيدًا، لذلك قد يفوّت grep بعض المطابقات أو يعرض مخرجات غير قابلة للقراءة. استخدم أداة للبحث في المستندات مع هذه الملفات.

 

11. ما أفضل طريقة للبحث داخل ملفات PDF وWord وLibreOffice على Linux؟
استخدم أداة بحث تدرك تنسيقات المستندات. يُعد SeekFast ملائمًا عندما تريد المعاينات والنتائج المرتبة حسب الصلة. ويُعد Recoll وDocFetcher بديلين جيدين مفتوحي المصدر إذا كنت تفضل البحث المفهرس على سطح المكتب.

 

12. هل يعمل SeekFast على Linux؟
نعم. يتوفر إصدار من SeekFast لنظام Linux ويمكن استخدامه للبحث داخل العديد من تنسيقات المستندات من خلال واجهة رسومية.

 

13. هل ينبغي أن أستخدم grep أم ripgrep أم SeekFast؟
استخدم grep لعمليات البحث العادية في النصوص البسيطة. واستخدم ripgrep لعمليات البحث المتكررة والسريعة في مجلدات التعليمات البرمجية والنصوص. واستخدم SeekFast عندما تحتاج إلى البحث داخل ملفات PDF وWord وLibreOffice وExcel وغيرها من المستندات مع عرض المعاينات.

عن الكاتب
ديميتار ستامينوف هو مطور برمجيات ورائد أعمال مقيم في صوفيا، بلغاريا. تخرج في جامعة صوفيا ويعمل في مجال تطوير البرمجيات باحتراف منذ عام 2002. وهو المؤسس والمدير والمطور الرئيسي في Slaviana Soft، ومبتكر SeekFast. وتشمل مشاريعه الأخرى طويلة الأمد Preslav ERP وSEORanks. درّس ديميتار مواد متعلقة بالبرمجيات وتحسين محركات البحث (SEO) في Telerik Academy وSoftware University. وفي مدونة SeekFast، يختبر بنفسه البرامج والأوامر التي يكتب عنها، ويستند إلى عمله الأسبوعي في مساعدة المستخدمين على حل مشكلات واقعية.

اترك تعليقاً

Your email address will not be published. Required fields are marked *