Linux’a Giriş — 7 — Grep Komutu
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 "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 -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.