10 Nisan 2009 Cuma

Grep komutu

Tek başına kullanmak


$ grep '12.00' /home/david/backup/log.txt
Yukarıdaki komut içinde 12.00 bulunan tüm satırları listeler.

$ grep -v '12.00' /home/david/backup/log.txt
Bu komutla ise içinde 12.00 bulunduran satırlar dışındaki tüm satırları listeler.

$ grep -l 'delay' /code/*.c
Bu komut /code dizininde .c uzantılı dosyalardan içinde "delay" yazısı bulunanların adlarını listeler. Bununla sadece dosya isimleri listelenir(Q:Yani satırlar listelenmez..)


$ grep -w '\<bay' *

$ grep -w 'watch\>' *

Bu iki komut aramayý biraz daha derinleştirir.İlk komut "bay" ile başlayan kelimelerin olduğu satıları , ikinci komut ise "watch" ile biten kelimelerin olduğu satırları arar.


-

Borularla(pipe) kullanım


$ ls -l grep rwxrwxrwx

Bildiğiniz gibi "ls -l" komutu dizin içeriğini listeler. "grep rwxrwxrwx" kısmı ise bize yazma,okuma,çalıştırma izinlerinin kullanıcı,grup,diğerleri için verildiği dizinleri listeler. Böylece tüm dizinleri görmektense sadece bu izinlerin olduğu dizinleri görürüz. (Aslında sadece metin araması yapıyoruz. "ls -l" nin çıktısını grep komutuna yönlendirerek süzgeçten geçiriyoruz)

Grep için bazı önemli parametreler

-v
komutun davranışını tersine çevirir.

-c
Standart raporlamayý (Q:yani satýrlarýn hepsini göstermeyi) keser ve sadece þablona uyan satýrlarýn sayýsýný gösterir.


-i
Arama sırasında büyük/küçük harf eşleştirmesi yapmaz


-w
şablonun başka bir kelime içinde olmayıp , kendi başına bir kelime olup olmadığını denetler. Böylece , "bay" kelimesi için arama yaptığınızda "baywatch" ile ilgili satırlar ekrana gelmez.

-l
şablona uygun satırların bulunduğu dosya adlarını listeler.

-r
parametreden sonra verilen dizinin ,alt dizininlerinde de verilen şablona uygun arama yapar. (recursive)

Hiç yorum yok:

Yorum Gönder