6 Şubat 2015 Cuma

Grep komutu ile içerik araması yapmak.

Bu yazıda komut satırında en çok kullanılan komutlardan biri olan grep komutunu sizlerle paylaşmak istiyorum. Grep komutu genel olarak bir dosya içerisinde içerik arama gibi birçok işlemler için kullanılır.



Linux sistemlerde öntanımlı olarak grep kurulu olarak gelmektedir. Sisteminizde grep aracı kurulu değilse aşağıdaki komut yardımıyla sisteminize kurabilirsiniz.
 # sudo apt-get install grep            (#Debian/Ubuntu)
 # sudo yum install grep                (#RHEL/CentOS/Fedora)




Basit bir örnek ile başlamak gerekirse, bulunduğunuz dizin içerisinde bir dosya olduğuna varsayalım mevcut dosyanın içerisinde Bluetooth kelimesini aratalım. Direkt olarak örnek verdiğim kelimeyi yazmayın sizde çıkmayacaktır, kelimeyi değiştirip dosyanızın içerisinde olan başka bir kelime yazabilirsiniz.
 # grep "Bluetooth" dosya.txt  












Yukarıdaki örneğimizin aynısı sadece --color parametresini ekleyerek grep çıktısını renkli olarak görebilirsiniz.
 # grep --color "Bluetooth" dosya.txt 












Örneğin, herhangi bir dosyanın içerisinde Bluetooth kelimesinin kaç kez kullanıldığını görmek isterseniz -c parametresini kullanabilirsiniz. Aşağıdaki resimde gördüğünüz gibi dosyanın içerisinde belirtilen kelime 11 kez kullanılmış.
 # grep -c "Bluetooth" dosya.txt 












Grep komutunun güzel bir parametresi olan -n parametresini kullanarak bir dosyanın içerisindeki aradığınız kelimenin satır numarasını görebilirsiniz. Bir başka seçenek ise cat komutunun -n parametresi 'de kullanılabilir. Yazıların terminal ekranına sığması için head -6 parametresini ekleyerek ilk 6 satırı göstermesini istedim.
 # grep --color -n "Bluetooth" dosya.txt 
 # cat -n dosya.txt | grep "Bluetooth"  | head -6  












Örneğin, bir dizin içerisinde bir kelime aradığınız zaman mevcut kelimenin hangi dosyaların içerisinde geçtiğini görmek isterseniz -l parametresini kullanabilirsiniz. Aşağıdaki komut bulunduğunuz dizin altındaki dosyaların içerisine bakıp Bluetooth kelimesi geçiyor ise dosyaların isimlerini listeyecektir.
 # grep --color -l "Bluetooth" *  












Grep komutunun -v parametresini kullanarak sizin belirttiğiniz kelimenin dışında kalan bütün satırları listeleyebilirsiniz. Örneğin, aşağıdaki komut ile şunu demiş oluyoruz dosya.txt isimli dosyanın içerisinde Bluetooth kelimesinin dışında kalan bütün satırları listele. !
 # grep -v "Bluetooth" dosya.txt 












Mesala, bir dosyanın içerisinde birden fazla kelime aramak isterseniz grep komutunun gelişmiş versiyonu olan egrep komutunun -w parametresi kullanılabilir. Tabi siz istediğiniz kelimeyi yazabilir veya birden fazla kelime belirtebilirsiniz.
 # egrep --color -w "Bluetooth|psmouse" dosya.txt  












Herhangi bir dosya içerisinde Bluetooth kelimesini aratıp daha sonra başka bir isim ile bir dosyaya yönlendirme yaparak mevcut kelimeyi belirttiğiniz dosya 'ya aktarabilirsiniz. Aşağıdaki komutun ne anlama geldiğini açıklamak gerekirse, dosya.txt adlı dosyanın içerisine grep ile Bluetooth kelimesini aratıp hemen ardından yönlendirme yaparak yeni bir isim ile dosyam adlı dosyayı oluşturup içerisine yazdırıyoruz.
 # grep -E "Bluetooth" dosya.txt > dosyam 
 # cat dosyam 












Başka bir örnek ise bir dizin altındaki bütün dizin ve dosyaların atlında Bluetooth kelimesi aramak istenirse -r parametresini kullanılabilir. Birinci komut bulunduğunuz dizin ve alt dizinleri ile birlikte mevcut kelimeyi arayacaktır. İkinci komut ise /home dizini ve alt dizinleri ile birlikte belirtilen kelimeyi arayacaktır.
 # grep -r "Bluetooth" *  
 # grep -r "Bluetooth" /home/* 


Grep komutunun bir başka güzel parametresi olan -i parametresi küçük-büyük harf duyarlılığını aktif etmenizi sağlar. Grep komutuna -i parametresini ekleyelim bakalım ne oluyormuş.
 # grep "bluetooth" dosya.txt  
 # grep -i "bluetooth" dosya.txt 


Grep komutunu illaki ilk başta kullanmanıza gerek yok, yani kullandığınız komutun sonuna pipe işaretini belirttikten sonra grep komutu ile içerik vb.. birçok kelime aratabilirsiniz. Ben aşağıda birkaç örnek belirttim, siz bu örneklere istinaden grep komutu ile birçok örnek yapabilirsiniz.
 # cat dosya.txt | grep "Bluetooth"  
 # ls -alh | grep "dosya"      "Dosya ismi geçen dosyaları listeler."
 # ls -alh | grep ^d                      "Dizinleri listeler."
 # ls -alh | grep ^-                       "Dosyaları listeler."
 # ls -alh | grep ^d  | wc -l           "Dizinleri toplam sayısını verir."
 # ls -alh | grep ^-  | wc -l            "Dosyaların toplam sayısını verir.



Grep komutu hakkında daha fazla bilgi almak isterseniz man sayfasından yada help menüsünden yardım alabilirsiniz.
 # man grep  
 # grep --help  

2 yorum:

  1. Ibrahimuçar: Grep Komutu Ile Içerik Araması Yapmak. >>>>> Download Now

    >>>>> Download Full

    Ibrahimuçar: Grep Komutu Ile Içerik Araması Yapmak. >>>>> Download LINK

    >>>>> Download Now

    Ibrahimuçar: Grep Komutu Ile Içerik Araması Yapmak. >>>>> Download Full

    >>>>> Download LINK

    YanıtlaSil

Online pfSense Firewall & Router Eğitimi

Merhabalar Online pfSense Firewall & Router eğitimi hazırladım ve Udemy üzerinde yar aldı. Eğitim içeriği toplam 40 ders ve yaklaşık o...