Grep yani evrensel düzenli ifade yazıcısı (global regular expression printer), belirtilen pattern dahilinde bir metin yığını içerisinde belirli bir yapıya uyan ifadeleri aramaya yarayan komuttur. Belirtilen pattern belirtilen dosya içerisinde işlenerek, bu patterne uyan sonuçlar listelenerek kullanıcıya sunulur. Tek başına veya “|” (pipe) ile kullanılarak daha gelişmiş işlemler gerçekleştirilebilir.
Genel kullanım şekli;
grep ‘aranacak-metin/pattern’ [arama-yapılacak-dizin/dosya]
Örnek kullanım;
┌─[user@parrot]─[~]
└──╼$ ls -l ~/var/www/html/*.jpg | grep rwxrwxrwx
└──╼$ ls -l ~/var/www/html/*.jpg | grep rwxrwxrwx
Yukarıdaki komut pipe öncesinde ls komutu dosyaların detaylı bir listesini vermekte. | (pipe) sonrasında ise grep komutuyla listelenen satırlarda rwxrwxrwx araması yapmaktayız. rwxrwxrwx iznine uyan satırlar listelenerek kullanıcıya gösterilir.
Belirli bir kelime arama;
┌─[user@parrot]─[~]
└──╼$ grep Erhan /etc/passwd
└──╼$ grep Erhan /etc/passwd
Bu şekilde bir kullanım ile etc/passwd dosyası içerisinde Erhan kelimesini içeren satırları listeler.
Büyük/küçük harf duyarlılığını kapatarak arama yapmak için -i parametresini kullanma;
┌─[user@parrot]─[~]
└──╼$ grep –i Erhan /etc/passwd
└──╼$ grep –i Erhan /etc/passwd
Bir dosya içerisindeki belirtilen kelimenin olmadığı satırlar listelenmek istendiğinde -v parametresini kullanma;
┌─[user@parrot]─[~]
└──╼$ grep –v Erhan /etc/passwd
Bir dosya içerisinde belirtmiş olduğunuz kelimenin kaç defa kullanıldığını öğrenmek için -c veya --count parametresini kullanma;
┌─[user@parrot]─[~]
└──╼$ grep -c Erhan /etc/passwd
Bu şekilde bir kullanım ile etc/passwd dosyası içerisinde Erhan kelimesinin kaç defa kullanıldığı tespit edilir.└──╼$ grep -c Erhan /etc/passwd
Belirtmiş olduğunuz patternin hedef olarak vermiş olduğunuz dizin altındaki tüm alt dizinlerde de arama yapılabilmesi için -r parametresini kullanma;
┌─[user@parrot]─[~]
└──╼$ grep –r Erhan /home/users
Bu şekilde bir kullanım ile home/users/ dizini ve altındaki tüm dizinlerde Erhan kelimesi geçen dosyaları arayacaktır.└──╼$ grep –r Erhan /home/users
Bir dosya içerisindeki belirtilen kelimenin olduğu satırların başka bir dosya içerisine aktarılması için “>” kullanılması;
┌─[user@parrot]─[~]
└──╼$ grep –i Erhan /etc/passwd > search.txt
Bu şekilde bir kullanım ile etc/passwd dosyası içerisinde Erhan kelimesinin geçtiği satırlar search.txt’ye aktarılır.└──╼$ grep –i Erhan /etc/passwd > search.txt
Belirli bir dosya uzantısına sahip dosyalar içerisinde arama yapmak için * joker karakterinin kullanılması;
┌─[user@parrot]─[~]
└──╼$ grep –i Erhan *.php
Bu şekilde bir kullanım ile içerisinde Erhan geçen dosyalar listelenir.└──╼$ grep –i Erhan *.php
Arama ile ilgili Linux komutları listesine ulaşmak için bu bağlantıyı ziyaret edebilirsiniz.
Yorum Gönder