يشرح هذا الدليل كيفية استخدام أداة egrep للبحث داخل الملفات النصية العربية على أنظمة لينكس/يونكس. وهي مفيدة بشكل خاص للغويين والمترجمين والمهتمين بتحليل النصوص.
أساسيات البحث في النصوص العربية
# بحث بسيط عن كلمة عربية
egrep 'كلمة' file.txt
# بحث غير حساس لحالة الأحرف
egrep -i 'كلمة' file.txt
# إظهار أرقام الأسطر مع النتيجة
egrep -n 'كلمة' file.txt
# البحث عن جملة أو عبارة كاملة
egrep 'هذه جملة كاملة' file.txt
البحث عن كلمات محددة
# البحث عن عدة كلمات (أو منطقي)
egrep 'كلمة1|كلمة2|كلمة3' file.txt
# البحث عن كلمة في بداية السطر
egrep '^كلمة' file.txt
# البحث عن كلمة في نهاية السطر
egrep 'كلمة$' file.txt
# البحث عن تطابق دقيق للكلمة (باستخدام حدود الكلمة)
egrep '\bكلمة\b' file.txt
البحث باستخدام النطاقات
# البحث عن حروف ضمن نطاق معين (مثلاً من الألف إلى الصاد)
egrep '[أ-ص]' file.txt
# البحث عن أي حرف عربي تقريباً
egrep '[ء-ي]' file.txt
# البحث عن كلمات تبدأ بحرف معين
egrep '\b[اأإآ]' file.txt
البحث عن أحرف أو رموز محددة
# البحث عن الحركات (الحركات القصيرة)
egrep '[ًٌٍَُِّْٰ]' file.txt
# البحث عن أنواع مختلفة من الهمزات
egrep '[أإآءؤئ]' file.txt
# البحث عن الألف المقصورة
egrep 'ى' file.txt
# البحث عن علامات التنوين
egrep '[ًٌٍ]' file.txt
# البحث عن الأرقام العربية/الهندية
egrep '[٠-٩]' file.txt
# البحث عن الأرقام الهندية والغربية معاً
egrep '[٠-٩0-9]' file.txt
أنماط البحث المتقدمة
# البحث عن كلمة مع حركات اختيارية (استخدام ? للتكرار الاختياري)
egrep 'سَ?لَ?مَ?' file.txt
# البحث عن كلمات تنتهي بحركات
egrep '[ء-ي][ًٌٍَُِّْٰ]+' file.txt
# البحث عن سطر يحتوي على كلمة متبوعة بأخرى
egrep 'كلمة.*كلمة2' file.txt
# تجاهل الحركات في البحث
egrep 'س[^ًٌٍَُِّْٰ]*ل[^ًٌٍَُِّْٰ]*م' file.txt
ملاحظات هامة حول الترميز
تأكد من أن الملف مُرمَّز بـ UTF-8:
file -i file.txt
التحويل من ترميز Windows-1256 إلى UTF-8:
iconv -f WINDOWS-1256 -t UTF-8 file.txt > file_utf8.txt
لتجنب مشاكل العرض:
LANG=ar_SA.UTF-8 egrep 'كلمة' file.txt
تثبيت دعم أفضل للغة العربية (يعتمد على توزيعتك):
sudo apt install locales
sudo dpkg-reconfigure locales
مرجع سريع
| الوصف | الأمر |
|---|---|
| بحث بسيط | egrep ‘كلمة’ file |
| بحث غير حساس لحالة الأحرف | egrep -i ‘كلمة’ file |
| إظهار أرقام الأسطر | egrep -n ‘كلمة’ file |
| البحث عن عدة كلمات | egrep ‘كلمة1 |
| كلمة في بداية السطر | egrep ‘^كلمة’ file |
| كلمة في نهاية السطر | egrep ‘كلمة$’ file |
| أي حرف عربي | egrep ‘[ء-ي]’ file |
| الحركات | egrep ‘[ًٌٍَُِّْٰ]’ file |
| الألف المقصورة | egrep ‘ى’ file |
| الأرقام العربية/الهندية | egrep ‘[٠-٩]’ file |
| تحويل الترميز إلى UTF-8 | iconv -f WINDOWS-1256 -t UTF-8 file.txt > file_utf8.txt |
نصائح إضافية
عد مرات ظهور كلمة
egrep -o 'كلمة' file.txt | wc -l
دمج egrep مع less للعرض التفاعلي
egrep 'كلمة' file.txt | less
البحث في ملفات متعددة بشكل تكراري
egrep -r 'كلمة' folder/
تفعيل تمييز النتائج (إذا كان معطلاً)
GREP_OPTIONS='--color=auto'