Bursa Bilgisayar

Grep Komutu İle Neler Yapılabilir ?

Linux’un en popüler komutu – grep

Unix’in en popüler komutu acik ara “grep”tir.Bazilari bunu tartissada birkez kullanmaya basladiniz mi, bu komut size tanrinin bir hediyesi olarak gözükecek. Grep’in acilimi ,büyük bir kesime birsey ifade etmese de, “evrensel düzenli ifade yazicisi”dir (Global Regular Expression Printer). Daha aciklayici olmak gerekirse grep , verilen bir yazidan belirli kriterler dahilinde parcalar cikarir. Basitce , grep bir sablon girmenizi , ardindan yine sizin belirleyeceginiz bir metinde, bu sablona uygun yazilari arar. Belirlenen sablona uygun tüm satirlari listeler. Grep iki türlü kullanilabilir – tek basina veya borularla (pipe)

Tek basina kullanmak

$ grep ‘12.00’ /home/david/backup/log.txt
Bu komut basit olarak grep in nasil kullanilabilecegini gösteriyor.(Metin dosyalarinin uzantisinin .txt olmasi gibi bir zorunluluk yok).Yukaridaki komut icinde 12.00 bulunan tüm satirlari listeler.
Örnegin bu komut , 12.00 da yapilmis tüm backuplarin bulunmasi icin kullanilabilir (Tabii icinde zamanlarin oldugu log.txt dosyasinin olmasi kosuluyla)

$ grep -v ‘12.00’ /home/david/backup/log.txt
Bu komutla ise icinde 12.00 bulunduran satirlar disindaki tüm satirlari listeler.

$ grep -l ‘delay’ /code/*.c
Bu komut /code dizininde .c uzantili dosyalardan icinde “delay” yazisi bulunanlarin adlarini listeler. Bununla sadece dosya isimleri listelenir(Q:Yani satirlar listelenmez..)

$ grep -w ‘\‘ *
Bu iki komut aramayi biraz daha derinlestirir.ilk komur “bay” ile baslayan kelimelerin oldugu satilari , ikinci komut ise “watch” ile biten kelimelerin oldugu satirlari arar.


Borularla kullanim

$ ls -l | grep rwxrwxrwx
Bildiginiz gibi “ls -l” komutu dizin icerigini listeler. “grep rwxrwxrwx” kismi ise bize yazma,okuma,calistirma izinlerinin kullanici,grup,digerleri icin verildigi dizinleri listeler. Böylece tüm dizinleri görmektense sadece bu izinlerin oldugu dizinleri görürüz. (Aslinda sadece metin aramasi yapiyoruz. “ls -l” nin ciktisini grep komutuna yönlendirerek süzgecten geciriyoruz)

Grep’in ciktisi diger programlara söyle yönlendirilir :

$ du | grep ‘mp3’ | more
Bu komutun ne yaptigini anlamissinizdir…(Q:Ama ben en asagida acikladim)

$ grep ` ^ #` /home/david/script1 | more
Bu komut /home/david/script1 dosyasindan ‘#’ ile baslayan satirlari gösterir. ‘^#’ bize , #’in ilgili satirin ilk karakteri olmasi gerekliligini anlatir.”more” kismida , ciktinin cok uzun olmasi durumunda sayfalar halinde gösterilebilmesi icindir.

$ grep -v ` ^ [0-9]` /home/david/backup/log.txt | more
Bu komut , /home/david/backup/log.txt dosyasinda ilk karakteri 0-9 arasindaki sayilar olan satirlarin disindaki satirlari listeler. More yine ciktiyi sayfalara bölmek icin kullanilir.

Önemli: sablon ifadelerinin tekli tirnak ile kapatilmasi (yukaridaki örneklerde oldugu gibi) ,yorumlayicinin dogru calismasi icin önemlidir.

Grep icin bazi önemli parametreler
-v
komutun davranisini tersine cevirir. Örnegin , sablona uygun olanlari göstermesi gerekirken uymayanlari listeler.

-c
Standart raporlamayi (Q:yani satirlarin hepsini göstermeyi) keser ve sadece sablona uyan satirlarin sayisini gösterir.

-i
Arama sirasinda büyük/kücük harf eslestirmesi yapmaz

-w
sablonun baska bir kelime icinde olmayip , kendi basina bir kelime olup olmadigini denetler. Böylece , “bay” kelimesi icin arama yaptiginizda “baywatch” ile ilgili satirlar ekrana gelmez.

-l
sablona uygun satirlarin bulundugu dosya adlarini listeler.

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

Bu belgenin ,grep’e baslamaniza yardim ettigini umarim. Grep , Linux’a diger OSler karsisinda avantaj kazandiran bir arac. Grep’i diger araclarla verimli kullanmak , kullaniciya Unix’te büyük bir güc verir.

Q:
du komutu ,dosya boyutlarini gosterir
-h (human readable format) parametresi ise boyut bilgilerini daha anlasilir hale getirir(normalde KB cinsinden).simdi bir deneme yapalim.

knoppix@ttyp0[knoppix]$ cd //
knoppix@ttyp0[//]$ cd mnt
knoppix@ttyp0[mnt]$ cd hda5
knoppix@ttyp0[hda5]$ ls
1S0z Pr0gz V1dz
1c0nZ RECYCLER WallPap3Rz
1maG3Z Spe3chZ jackass.the.movie.dvdrip.divx-glorious.avi
DocZ System Volume Information mp3
L3ssonZ Th1ngZ
knoppix@ttyp0[hda5]$ du -h | grep ‘mp3’ | more
41M ./mp3/01-DANCE AROUND The WORLD/Disc One
44M ./mp3/01-DANCE AROUND The WORLD/Disc Two
84M ./mp3/01-DANCE AROUND The WORLD
68M ./mp3/02-TECHNO MILLENNIUM/Disc One
69M ./mp3/02-TECHNO MILLENNIUM/Disc Two
137M ./mp3/02-TECHNO MILLENNIUM
69M ./mp3/03-CLUB IBIZA/Disc One
70M ./mp3/03-CLUB IBIZA/Disc Two
138M ./mp3/03-CLUB IBIZA
65M ./mp3/04-TRANCE NON-STOP
64M ./mp3/05-MINISTRY ANNUAL 2000/Disc One
65M ./mp3/05-MINISTRY ANNUAL 2000/Disc Two
129M ./mp3/05-MINISTRY ANNUAL 2000
68M ./mp3/06-Paul Oakenfold – Travelling/Disc One
68M ./mp3/06-Paul Oakenfold – Travelling/Disc Two
136M ./mp3/06-Paul Oakenfold – Travelling
57M ./mp3/Depeche_Mode_all/DM 81 Speak And Spell
38M ./mp3/Depeche_Mode_all/DM 82 A Broken Frame
46M ./mp3/Depeche_Mode_all/DM 83 Construction Time Again
48M ./mp3/Depeche_Mode_all/DM 84 Some Great Reward
51M ./mp3/Depeche_Mode_all/DM 86 Black Celebration
58M ./mp3/Depeche_Mode_all/DM 87 Music For The Masses
39M ./mp3/Depeche_Mode_all/DM 89 (Live) 101/Disc A
50M ./mp3/Depeche_Mode_all/DM 89 (Live) 101/Disk B
88M ./mp3/Depeche_Mode_all/DM 89 (Live) 101
44M ./mp3/Depeche_Mode_all/DM 91 Violator
44M ./mp3/Depeche_Mode_all/DM 93 Songs Of Faith And Devotion
54M ./mp3/Depeche_Mode_all/DM 97 ULTRA
43M ./mp3/Depeche_Mode_all/DM 98 The Singles 85-98/CD1
47M ./mp3/Depeche_Mode_all/DM 98 The Singles 85-98/CD2
89M ./mp3/Depeche_Mode_all/DM 98 The Singles 85-98
1.5M ./mp3/Depeche_Mode_all/IMAGES
23M ./mp3/Depeche_Mode_all/MLG 89 Counterfeit e.p
636M ./mp3/Depeche_Mode_all
584M ./mp3/Dj. Alex Techno Part 1 – Mp3
73M ./mp3/DJ_TOP_40_(CD1)
73M ./mp3/DJ_TOP_40_(CD2)
53M ./mp3/EARTH WIND&FIRE.THE_PROMISE
63M ./mp3/FUTURE_TRANCE_(CD1)
65M ./mp3/FUTURE_TRANCE_(CD2)
635M ./mp3/Karisik_Pop
823M ./mp3/mixed
78M ./mp3/soul_saucee
3.7G ./mp3
knoppix@ttyp0[hda5]$

Görüldügü gibi du komutunun ciktilarindan grep yardimiyla “mp3” olanlilarini ayirdik.Gercekten kullanisli.

Related posts

674 thoughts on “Grep Komutu İle Neler Yapılabilir ?

  1. WOW just what I was searching for. Came here by
    searching for bursa

  2. Heya i am for the first time here. I found this board and I find It really useful & it helped me out much. I hope to give something back and aid others like you helped me.

  3. I have noticed that in unwanted cameras, exceptional receptors help to maintain focus automatically. Those sensors involving some video cameras change in contrast, while others employ a beam of infra-red (IR) light, especially in low lighting. Higher specification cameras from time to time use a blend of both models and will often have Face Priority AF where the digital camera can ‘See’ any face as you concentrate only upon that. Many thanks for sharing your ideas on this blog.

  4. Thanks for the sensible critique. Me & my neighbor were just preparing to do a little research about this. We got a grab a book from our area library but I think I learned more clear from this post. I am very glad to see such great info being shared freely out there.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

 Characters available