Gecenlerde bulundugum klasördeki düm dosyalarin icinde beli bir kelimeyi aramak zorunda kalinca vakit ayirip ögrenmedigim find grep unix araclari’nin kombinasyon fonksiyonlarini ögrenmeye karar verdim. Bunu yaparkende su dokumani cevireyim dedim. dokuman link: http://www.athabascau.ca/html/depts/compserv/webunit/HOWTO/find.htm
find’in sentaksi kabaca söyledir
find [nerde aranacak] [aranan dosyanin özelikleri]
mesela bulundugumuz klasörde (yada dizin neyse iste) yani . dizininde t ile basliyan dosyalari bulalim. -name secenegi ile aranacak dosyan’nin adini belirliyelim
find . -name “rc.conf” -print
./tr-verben.lexc~
./tr-verb.xfst
./tr-verben.lexc
find komutu ile beli basli dosyalari bulup ayni zamanda findin – exec secenegi ile bu dosyalarla ilgili islemler yapabiliriz mesela. Asagidaki komut kendi ve altdizininde tr ile basliyan dosyalari bulur ve her biri icin chmod o+r komutunu calistirir. Bu ibare ‘{}’ bulunan her dosya icin chmod komut satirini calistirir. Bu ibare \; ise -exec komutunu bitis noktasini belirler. exec komutunun hangi dosyalari icin calistirildigini görmek istiyorsak en sona -print secenegini ekleriz.
find . -name “tr*” -exec chmod o+r ‘{}’ \; -print
Encok sevdigim ve sentaksini aklimda tutamadigim icin ara sira googlede aradigim find grep kombinasyonu ta ta tatammmmm ![]()
grep findin buldugu dosyalarin icin fatih genc kelimesini arar. ve buldugu satirlari ekrana yazar.
find . -exec grep “fatih genc” ‘{}’ \; -print
Ancak bu oldukca kullanisli bir kullanim sekli olmaya bilir. Mesela icinde fatih genc gecen dosyalarin tam adresini ekrana yazmasi bence daha mantikli. grepe – q komutu verip onu eger bisey bulursa find programina 0 yolamasini istiyoruz find bulunan dosyalari -print ile ekrana yansitiyor.
find . -exec grep -q “fatih genc” ‘{}’ \; -print
Verdigim linkin tamamini cevirmedim arzu edenler inglizcesini okusunlar. Vesselam…

February 22nd, 2006 1:45 am
Buradaki şeylerin bir çoğuna ihtiyacınız yok. grep kendi başına dizinleri gezip istadiğiniz dosyada arama yapabilir.
örn:
grep -i “merhaba” /usr/share
share dizini içideki, içinde büyük küçük harf ayrımı yapmadan merhaba geçen dosyaları ve hangi satırlarda geçtiğini bulur.
Eğer /usr/share altındaki tüm dizinlere de gitmesini isterseniz
grep -r “merhaba” /usr/share diyebilirsiniz. Tabii 2linin erekli olduğu durumlarda olabilir.
Örn:
find /usre/share -name hede* -exec grep -q merhaba ‘{}’; -print
Adı hede ile başlayan ve usr/share dizini ve altında bulunan dosyalarda merhaba yı arar.
Benim asıl grep de bayıldığım parametre ise -v;
grep -v “merhaba” /usr/share
içinde merhaba geçmeyen dosyaları bulur