Linux metin arama konusunu temsil eden izometrik illüstrasyon

Linux metin arama: grep ile günlük inceleme

Linux grep komutuyla günlük ve metin dosyalarında aradığınız satırları bulun. Sabit metin, düzenli ifade ve bağlam seçeneklerini ayırarak gereksiz sonuçları azaltın.

Linux metin arama için açıklayıcı işlem şeması
İşlem sırasını gösteren açıklayıcı şema.

Önce küçük bir dosyada deneyin

grep, seçilen desenle eşleşen satırları gösterir. İlk denemeyi önemli dosyalarda değişiklik yapmadan bir örnek dosyada yürütün. grep dosya içeriğini düzenlemez.

printf "INFO basladi\nERROR baglanti\nINFO bitti\n" > "$HOME/grep-deneme.txt"
grep -n "ERROR" "$HOME/grep-deneme.txt"Code language: JavaScript (javascript)

-n satır numarasını ekler. Örnek dosya zaten varsa komut üzerine yazar; ayrı bir ad seçin. Çıktıda 2:ERROR baglanti görülmesi beklenir.

Sabit metin ve düzenli ifadeyi ayırın

Varsayılan desen düzenli ifade olarak yorumlanır. Nokta veya köşeli parantez gibi işaretleri birebir arayacaksanız -F sabit metin seçeneğini kullanın.

grep -F "192.0.2.10" "$HOME/grep-deneme.txt"
grep -E "ERROR|WARN" "$HOME/grep-deneme.txt"Code language: JavaScript (javascript)

-E genişletilmiş düzenli ifade kullanır; dik çizgi alternatifleri seçer. Örnek IP dosyada bulunmadığından ilk sorgunun sessiz kalması normaldir.

Grep arama yöntemleri için komutlar ve kontrol amaçlarını gösteren temsili terminal
Temsili terminal görünümü. Komutların amacı sağdaki açıklamalarda gösterilir; gerçek ortam çıktısı değildir.

Büyük/küçük harf ve kelime sınırı

grep -in "error" "$HOME/grep-deneme.txt"
grep -w "ERROR" "$HOME/grep-deneme.txt"Code language: JavaScript (javascript)

-i harf ayrımını kaldırır. -w kelime eşleşmesini daraltır ancak günlük alanlarının semantiğini anlamaz. Örneğin bir uygulamanın hata düzeyi, metinde error kelimesi geçmesiyle aynı şey değildir.

Hata çevresindeki satırları okuyun

-C hem öncesi hem sonrası, -B öncesi, -A sonrası için bağlam satırı ekler. Son hata mesajının öncesinde asıl neden bulunabilir.

grep -n -C 2 "ERROR" "$HOME/grep-deneme.txt"Code language: JavaScript (javascript)

Birden çok eşleşmenin bağlamı birleşebilir. Çok büyük dosyada geniş bağlam yerine önce zaman veya servis filtresi kullanmak daha okunabilir sonuç sağlar. systemd kayıtlarını doğrudan dosya grep ile okumak yerine journalctl ile sorgulayın.

Klasör içindeki dosyalarda arayın

-r alt klasörleri tarar. –include yalnız uygun dosya adlarını seçer. Aramayı bilinen bir uygulama klasörüne sınırlandırın; bütün / ağacını taramak özel veya ikili verilerle dolu sonuç üretebilir.

grep -rn --include="*.txt" "ERROR" "$HOME/izin-denemesi"Code language: PHP (php)

Örnek klasör yoksa hata mesajı normaldir; mevcut bir klasör seçin. -l yalnız eşleşen dosya adlarını listeler. -R sembolik bağlantı takibinde daha geniş davranış gösterir; bilinçsizce kullanmayın.

Çıkış kodunu yorumlayın

grep için 0 eşleşme bulunduğunu, 1 eşleşme olmadığını, 2 hata oluştuğunu belirtir. Sessiz çıktı ile başarılı eşleşmeyi karıştırmayın. Betik yazarken dosyanın okunamamasıyla metnin bulunmamasını ayırın.

grep -q "ERROR" "$HOME/grep-deneme.txt"
echo "$?"Code language: PHP (php)

-q sonucu yazdırmadan test eder. Bir boru hattındaki $? varsayılan olarak son komutun durumudur; önceki grep durumunu her durumda göstermez. Paylaşacağınız sonuçlarda parola, token ve kişisel verileri temizleyin.

Sıkça sorulan sorular

grep metin dosyasını değiştirir mi?

Hayır. Bu sorgular satırları okur ve ekrana yazar.

Nokta içeren IP adresini nasıl birebir ararım?

grep -F kullanarak deseni sabit metin olarak yorumlatabilirsiniz.

Çıktı yoksa komut başarısız mı?

Eşleşme bulunmaması ayrı bir durumdur ve genellikle çıkış kodu 1 olur. Dosya erişim hatası farklı değerlendirilir.

İlgili rehberler

Kaynaklar

Komut seçenekleri resmî belgelerle karşılaştırıldı. Kontrol tarihi: 7 Ekim 2026. Örnekler Pardus ortamında uçtan uca çalıştırılmış bir laboratuvar testi olarak sunulmaz; çıktı ve aygıt adları sisteminize göre değişir.

İlginizi Çekebilir

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir