ripgrep (rg), grep’in çok daha hızlı çalışan, Rust tabanlı modern bir metin arama aracıdır. Büyük kod tabanlarında, log dosyalarında ve metin koleksiyonlarında arama yaparken grep’e kıyasla genellikle 5-10 kat daha hızlı sonuç verir. .gitignore dosyalarını otomatik olarak dikkate alır; binary dosyaları atlar. Regex, sabit metin ve Unicode tam desteği sunar. Windows, macOS ve Linux’ta ücretsiz çalışır ve pek çok geliştirici editörüyle entegre çalışır.
Öne Çıkan Özellikler
- grep’ten 5-10x daha hızlı arama
- Otomatik .gitignore entegrasyonu
- Regex, sabit metin ve Unicode desteği
- Binary dosyaları otomatik atlama
- Renkli çıktı ve bağlam satırları
- Dosya tipi filtresi (-t/–type)
- Windows, macOS ve Linux desteği
- VS Code ve Neovim entegrasyonu
- Tamamen ücretsiz ve açık kaynak (MIT veya Unlicense)
- Paralel iş parçacıklı arama motoru
ripgrep ile belirli bir klasördeki tüm Python dosyalarında nasıl arama yaparım?
- Terminali açın ve arama yapmak istediğiniz klasöre gidin.
- Şu komutu çalıştırın: rg “arama_terimi” –type py
- rg yalnızca .py dosyalarını tarayarak eşleşmeleri dosya adı ve satır numarasıyla listeler.
- Büyük/küçük harf duyarsız arama için -i bayrağını ekleyin.
- Bağlam satırlarını görmek için -C 2 ekleyin (eşleşmeden önce ve sonra 2 satır).
ripgrep ile .gitignore’daki dosyaları dahil ederek nasıl arama yaparım?
- Varsayılan olarak rg .gitignore’u dikkate alır ve bu dosyaları atlar.
- Tüm dosyaları dahil etmek için –no-ignore bayrağını ekleyin: rg “terim” –no-ignore
- Yalnızca belirli bir .gitignore kuralını devre dışı bırakmak isterseniz -u bayrağını kullanın.
- Gizli dosyaları da aramak için –hidden bayrağı ekleyin.
- Tüm kısıtlamaları kaldırmak için -uu (unrestricted) kullanın.
Alternatifler
fzf, bat, bottom (btm)
- Olağanüstü hızlı arama performansı
- .gitignore otomatik uyumu
- Unicode ve PCRE2 regex desteği
- VS Code dahili arama motoru olarak kullanılır
- Dosya türü filtresi
- Tamamen ücretsiz ve açık kaynaklı
- Kurulum gerektirmez, taşınabilir
- Yalnızca komut satırından çalışır
- Türkçe dil desteği yok
- grep ile tam uyumluluk yok
- Grafik arayüz yok