Dosyalarda Bilgi Bulmak için grep Komutu Nasıl Kullanılır ⋆ ALexHost SRL

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills
03.01.2025

Dosyalarda Bilgi Bulmak için grep Komutu Nasıl Kullanılır

Grep komutu Unix ve Linux tabanlı sistemlerde en güçlü ve yaygın olarak kullanılan yardımcı programlardan biridir. Dosyalar içinde belirli kalıpları veya metinleri aramanıza olanak tanıyarak sistem yöneticileri, geliştiriciler ve büyük miktarda metin verisiyle uğraşan herkes için önemli bir araç haline getirir. İster günlük dosyalarında, ister yapılandırma dosyalarında veya kod tabanlarında arama yapıyor olun, grep ihtiyacınız olan bilgileri hızlı bir şekilde bulmanıza yardımcı olabilir. Bu makale, grep ‘in temellerini ve bu çok yönlü komuttan en iyi şekilde yararlanmanıza yardımcı olacak bazı gelişmiş teknikleri kapsayacaktır.

Grep nedir?

grep “Global Düzenli İfade Yazdırma” anlamına gelir Dosyalarda belirli bir kalıpla eşleşen satırları arar ve varsayılan olarak bu satırları terminale yazdırır. grep özellikle kullanışlıdır, çünkü yalnızca gerçek metinleri değil, karmaşık karakter kombinasyonlarını aramanıza olanak tanıyan kalıplar olan düzenli ifadeleri destekler.

Temel Sözdizimi

Grep komutunun temel sözdizimi şöyledir:

grep [seçenekler] desen [dosya...]
  • desen: Aradığınız dize veya düzenli ifade.
  • dosya: İçinde arama yapmak istediğiniz dosya veya dosyalar.
  • seçenekler: Grep’in davranışını değiştiren isteğe bağlı bayraklar.

Örnek Kullanım

İşte log.txtadlı bir dosyada “hata” kelimesini arayan basit bir örnek:

grep "hata" log.txt

Bu, log.txt dosyasında “hata” kelimesini içeren tüm satırların çıktısını alacaktır

Sık Kullanılan grep Seçenekleri

Grep ‘in gücü çok yönlülüğünde yatar. İşte aramalarınızı hassaslaştırmanıza yardımcı olacak en yaygın kullanılan seçeneklerden bazıları.

1. Birden Fazla Dosyada Arama

Desenden sonra listeleyerek aynı anda birden fazla dosyada arama yapabilirsiniz:

grep "hata" text.txt text1.txt

Alternatif olarak, belirli bir türdeki tüm dosyalarda arama yapmak için joker karakterleri kullanabilirsiniz:

grep "hata" *.log

Bu, geçerli dizindeki tüm .log dosyalarında “hata” arar.

2. Harfe Duyarsız Arama (-i)

Varsayılan olarak, grep büyük/küçük harfe duyarlıdır. Büyük/küçük harf durumunu göz ardı etmek istiyorsanız -i seçeneğini kullanın:

grep -i "hata" text.txt

Bu, “Error”, “ERROR” veya diğer büyük/küçük harf varyasyonlarıyla eşleşecektir.

3. Yinelemeli Arama (-r veya -R)

Bir dizin ve alt dizinleri içindeki dosyalarda bir desen aramak istiyorsanız, özyinelemeli arama için -r (veya -R) seçeneğini kullanın:

grep -r "error" /var/logs/

Bu komut /var/logs/ ve alt dizinleri içindeki tüm dosyalarda “hata” kelimesini arayacaktır.

4. Satır Numaralarını Göster (-n)

N seçeneği çıktıya satır numaralarını ekler, bu da dosya içinde eşleşen deseni hızlı bir şekilde bulmak için kullanışlıdır:

grep -n "hata" text.txt

Çıktı, hangi satırın eşleşmeyi içerdiğini gösterecektir, bunun gibi:

25:işlem sırasındahata oluştu

5. Eşleşmeleri Say (-c)

Yalnızca bir desenin bir dosyada kaç kez göründüğüyle ilgileniyorsanız, eşleşen satırları yazdırmak yerine eşleşme sayısını almak için -c seçeneğini kullanın:

grep -c "hata" text.txt

Bu, aşağıdaki gibi bir çıktı verecektir:

Log.txtdosyasında üç kez “hata” ifadesi belirdi.

6. Eşleşmeyi Ters Çevir (-v)

Belirli bir kalıp içermeyen satırları bulmak için -v seçeneğini kullanın:

grep -v "hata" text.txt

Bu, log.txt dosyasında “hata” kelimesini içermeyen tüm satırları döndürecektir

7. Tam Kelimeleri Arama (-w)

Kısmi eşleşmeler yerine tüm kelimeleri aramak istiyorsanız -w seçeneğini kullanın. Örneğin:

grep -w "hata" log.txt

Bu, “error” kelimesinin “error123” veya “myerror” gibi diğer kelimelerin bir parçası olarak değil, yalnızca bütün bir kelime olarak eşleştirilmesini sağlar

8. Limit Çıkışı (-m)

Yalnızca sınırlı sayıda eşleşmeye ihtiyacınız varsa, kaç satır döndürüleceğini belirtmek için -m seçeneğini kullanabilirsiniz. Örneğin, yalnızca ilk 5 maçı almak için:

grep -m 5 "hata" log.txt

9. Eşleşmeleri Vurgula (–color)

Çıktıda eşleşmenin nerede gerçekleştiğini görmeyi kolaylaştırmak için –color seçeneği ile renk vurgulamayı etkinleştirebilirsiniz:

grep --color "error" log.txt

Çoğu terminal emülatöründe bu, eşleşen metni renkli olarak vurgulayacaktır.

Grep ile Düzenli İfadeleri Kullanma

Grep ‘in en güçlü özelliklerinden biri, sabit dizeler yerine kalıpları aramanıza olanak tanıyan düzenli ifadeleri (regex) desteklemesidir.

Temel Düzenli İfadeler

Aşağıda grep ile düzenli ifadelerin kullanımına ilişkin birkaç örnek verilmiştir:

  • Belirli bir desenle başlayan satırları arayın:
    grep "^error" log.txt

    İşaret (^) bir satırın başlangıcıyla eşleşir, bu nedenle bu, “hata” ile başlayan satırları bulacaktır

  • Belirli bir kalıpla biten satırları arayın:
    grep "error$" log.txt

    Dolar işareti ($) bir satırın sonuyla eşleşir, bu nedenle bu, “hata” ile biten satırları bulacaktır

  • Rakam içeren satırları arayın:
    grep "[0-9]" log.txt

    0-9] kalıbı herhangi bir rakamla eşleşir, bu nedenle sayı içeren satırları bulur.

Genişletilmiş Normal İfadeler

Daha gelişmiş desen eşleştirme için, genişletilmiş düzenli ifadeleri etkinleştiren -E seçeneğini kullanabilirsiniz:

grep -E "error|failure" log.txt

Bu, “hata” veya “başarısızlık” içeren satırları arayacaktır. | sembolü, genişletilmiş düzenli ifadelerde bir “VEYA “yı temsil eder.

Diğer gelişmiş modeller şunlardır:

  • * (sıfır veya daha fazla olay)
  • (bir veya daha fazla olay)
  • . (herhangi bir tek karakterle eşleşir)

Örneğin, “err” ile başlayan ve ondan sonra herhangi bir karakterle biten herhangi bir kelimeyi içeren satırları aramak için:

grep -E "err.*" log.txt

Sıkıştırılmış Dosyaları zgrep ile Arama

Sıkıştırılmış dosyaların (.gz dosyaları gibi) içinde arama yapmanız gerekiyorsa, grep gibi çalışan ancak sıkıştırılmış dosyaları destekleyen zgrep komutunu kullanabilirsiniz:

zgrep "hata" log.gz

Bu komut, dosyayı manuel olarak açmanıza gerek kalmadan log.gz dosyasının içinde “hata” arayacaktır.

Grep’i Diğer Komutlarla Birleştirme

Güçlü arama iş akışları oluşturmak için grep ile diğer komutları borular (|) kullanarak birleştirebilirsiniz. Örneğin:

  • Başka bir komutun çıktısı içinde arama: “bash” kelimesini içeren işlemleri aramak istiyorsanız, şunu kullanabilirsiniz:
    ps aux | grep "bash"
  • Bir günlük dosyası içinde arama yapın ve benzersiz eşleşmeleri sayın:
    grep "error" log.txt | sort | uniq -c

    Bu, eşleşen satırların çıktısını sıralayacak ve benzersiz oluşumları sayacaktır.

Sonuç

Grep komutu, dosyalar arasında hızlı ve verimli bir şekilde metin ve desen aramanıza yardımcı olabilecek inanılmaz derecede güçlü bir araçtır. İster günlükleri analiz ediyor, ister verileri filtreliyor veya kod arıyor olun, grep ‘te ustalaşmak size zaman ve emek kazandıracaktır. Büyük/küçük harfe duyarlı olmayan arama, düzenli ifadeler ve özyinelemeli dizin arama seçenekleriyle grep, neredeyse tüm metin arama görevlerinin üstesinden gelebilecek kadar çok yönlüdür.

Grep ‘i diğer komutlarla birleştirerek ve birçok seçeneğinden yararlanarak, karmaşık ve verimli arama sorguları oluşturabilir, bu da onu herhangi bir Linux veya Unix tabanlı sistemde vazgeçilmez bir araç haline getirir.

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills