1.  grep

grep هي أشهر ادوات البحث في الشيل يونيكس و تقوم بالبحث عن كلمة معينة في ملف او اكثر :

// % البحث عن جميع اسطر الملف التي تحتوي على الرمز 
grep '%' myfile

// البحث عن كلمة يمن كما تظهر (بأحرف صغير)
grep yemen myfile

// البحث عن اليمن بغض النظر عن الحروف ان كانت كبيرة او صغيرة
// (Yemen, YEMEN, yemen, ..)
grep -i yemen myfile

// % البحث عن الاسطر التي لا تحتوي على الرمز
grep -v '%' myfile

 

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

للإشارة فبداية السطر يرمز لها ^ أما نهايته فيرمز لها ب $. كما أن الرمز نقطة '.' يعني "أي رمز كان" و '*' يعني "أي عدد من المرات كان" .. و بذلك عندما نكتب '*.' فإننا نعني "أي سلسلة من الرموز". و عندما نكتب '*[0-9]' فإننا نعني اي سلسة من الارقام.

بعض الأمثلة لإستعمال grep مع صيغ إعتيادية :

// كل السطور التي تبتدأ بالرقم 1 و تنتهي به
grep '^1.*1$' myfile

// كل السطور التي تبتدى بالرقم 1 و تنتهي به و يجد فيها فقط ارقام
grep '^1[0-9]*1$' myfile

 

  1. find

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

// البحث عن الملف 1 داخل المجلد 1 
find mojalad_1 -name milaf_1

// البحث عن الملف الذي يبتدأ إسمه ب ملف 
// داخل كل المجلدات انطلاقا من موقع المستعمل في شجرة الملفات
find . -name 'milaf*'