Grep komandası və istifadəsi
grep komandası pattern parametri ilə müəyyən edilmiş nümunəni axtarır və hər uyğun gələn sətri standart çıxışa yazır. Nümunələr ed və ya egrep komandasının üslubunda məhdud müntəzəm ifadələrdir. grep komandası yığcam qeyri-deterministik alqoritmdən istifadə edir.
Fayl parametrində bir neçə ad göstərsəniz, grep komandası uyğun sətirdən ibarət faylın adını göstərir. Kernel üçün xüsusi məna daşıyan simvollar ($, *, [, |, ^, (,), \) nümunə parametrində göstərildikdə dırnaq içərisində olmalıdır. Nümunə parametri düz sətir deyilsə, bütün nümunəni tək dırnaqlara daxil etməlisiniz. İfadədə, məsələn:[a-z],-(minus işarəsi), cml cari birləşmə sırasına uyğun olaraq aralığı təyin edir. Qoşulma sırası simvol diapazonlarında istifadə olunacaq ekvivalentlik siniflərini müəyyən edə bilər. Əgər fayl göstərilməyibsə, grep standart girişi qəbul edir.
grep (Global Regular Expression Print), Unix və Linux əməliyyat sistemlərində istifadə olunan güclü bir komut alətidir. grep, müəyyən bir mətnin bir faylda və ya bir qrup faylda axtarılmasına kömək edir. Bu komanda , müntəzəm ifadələr (regular expressions) ilə işləyərək, çox güclü və dəqiq axtarışlar həyata keçirməyə imkan verir.
grep komandasının ümumi sintaksisi aşağıdakı kimidir
grep [seçimlər] 'axtardığınız mətinin adı' fayl_adı
Grep komandasının əsas optionlarına nəzər salsaq.
- -i (Case-insensitive): Böyük və kiçik hərf fərqini nəzərə almadan axtarış edir.
grep -i 'hello' fayl.txt
Bu komut, hello, Hello, HELLO və digər müxtəlif variantları axtaracaq.
2. -r / -R (Recursive): Verilən direktoriyada və alt direktoriyalarda axtarış aparır.
grep -r 'pattern' /home/user/directory/
-v (Inverted match): Axtarışda göstərilən nümunə ilə uyğun olmayan xətləri göstərir.
grep -v 'pattern' fayl.txt
-l (Files with matches): Uyğunluq tapılan faylların adlarını göstərir.
grep -l 'pattern' *.txt
-w (Whole word): Yalnız tam uyğun gələn sözləri göstərir.
grep -w 'pattern' fayl.txt
-n (Line number): Hər uyğunluğu göstərərkən, uyğunluğun tapıldığı sətrin nömrəsini də göstərir.
grep -n 'pattern' fayl.txt
-c (Count): Uyğunluqların sayını göstərir.
grep -c 'pattern' fayl.txt
-H (Print filename): Uyğunluq tapıldığı zaman fayl adını da göstərir (bu xüsusiyyət, çoxsaylı fayllarla işləyərkən faydalıdır).
grep -H 'pattern' *.txt
-E (Extended regular expressions): Genişləndirilmiş müntəzəm ifadələr istifadə etməyə imkan verir.
grep -E 'pattern1|pattern2' fayl.txt
Grep ilə ifadələrdən (Regular Expressions) İstifadə
grep komandası müntəzəm ifadələr ilə birlikdə istifadə oluna bilər. Bu, axtarışlarınızı daha çevik və güclü edir. Müntəzəm ifadələr sayəsində bir neçə şərti eyni anda yoxlamaq mümkündür.
grep ‘a.b’ fayl.txt → Bu, a ilə başlayan və b ilə bitən hər hansı bir sözü tapar.
* (Önceki simvolun sıfır və ya daha çox təkrarı)
grep ‘a*b’ fayl.txt → b ilə bitən və arasında bir neçə a ola bilən sözləri tapar.
^ (Sətirin başlanğıcı)
grep ‘^start’ fayl.txt → start ilə başlayan sətirləri tapar.
$ (Sətirin sonu)
grep ‘end$’ fayl.txt → end ilə bitən sətirləri tapar.
[] (Simvol dəstləri)
grep ‘[a-z]’ fayl.txt → Kiçik hərfləri tapar.
| (Alternativlər)
grep ‘pattern1|pattern2’ fayl.txt → Həm pattern1, həm də pattern2 nümunələrinə uyğun xətləri tapar.
Yekun olaraq demək istərik ki, grep, sistem idarəetməsi, proqramlaşdırma və mətn fayllarını analiz etmə kimi çoxsaylı sahələrdə faydalı bir alətdir. Müntəzəm ifadələr və müxtəlif seçimlər vasitəsilə, axtarışları daha çevik və təkmilləşdirilmiş şəkildə həyata keçirmək mümkündür. Bu komut ilə istənilən ölçüdə fayllarda məlumatları asanlıqla tapmaq və işləmək mümkündür.