Bu yazımda sizlere dosyanın içerisinde nasıl arama yapacağımızdan bahsedeceğim. Bir Linux sisteminde, belirli bir metin dizesi için bir veya daha fazla dosyada arama yapma ihtiyacı oldukça sık ortaya çıkabilir. grep komutu dosyalar içerisinde kolay bir şekilde arama yapmayı sağlar.

Basit kullanımı:

grep <parametre> <aranan-ifade> <yol>

Bir metin dizesi ararken ihtiyaç duyabileceğiniz kullanışlı grep parametreleri şunlardır:

  • -c - Bir kelimenin kaç kez kullanıldığının sayısını gösterir
  • -i - Büyük küçük harf kullanımını göz ardı eder
  • -n - Aranan metnin bulunduğu satır sayısını gösterir

grep komutu ile dosyanın içerisindeki herhangi bir kelimeyi arayabiliriz. Örnek olarak bilgisayar.txt adında bir dosya oluşturup içerisine şu cümleyi yazalım: “Bilgisayar, kendisine verdiğimiz bilgileri istediğimizde saklayabilen, istediğimizde geri verebilen cihaza denir. İlk elektrikli bilgisayar ENIAC’tır.”

grep "elektrik" bilgisayar.txt

bilgisayar.txt isimli dosyanın içerisinde elektrik kelimesinin geçtiği satırı bulur.

Grep kullanımı

grep "ELEKTRIK" bilgisayar.txt

Büyük harflerle “ELEKTRIK” kelimesi yazıldığında hiçbir sonuç listelenmeyecektir çünkü dosya içerisinde büyük harfle yazılmış “ELEKTRIK” kelimesi yoktur.

grep -i "ELEKTRIK" bilgisayar.txt

-i parametresi ile büyük küçük harf kullanımını göz ardı ederek istenen kelimeyi arar.

grep -r "bilgisayar"

-r parametresi tüm alt dizinlerdeki dosyaları özyinelemeli olarak arar.

Grep -r parametresi

grep -c "bilgi" bilgisayar.txt

-c parametresi içerisinde bilgi kelimesi geçen kelimelerden kaç tane olduğunu gösterir.

grep -n "bilgi" bilgisayar.txt

“bilgi” kelimesinin kaçıncı satırlarda geçtiğini görebiliriz.

grep -E -i "elektrik|bilgisayar" bilgisayar.txt

Bir dosyada birden çok dizeyi aramak için -E parametresi kullanılır. Farklı arama terimleri | (veya) karakteri ile ayrılır.