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