Bir Ruby on Rails uygulaması grep
üzerinden OSX üzerinde bir sözcük için arama yapıyorum ve belirli bir desenle eşleşen dizinleri hariç tutmak istiyorum.
Aşağıdaki komutu kullanıyorum:
grep -inRw -E 'direct' . --exclude-dir -E 'git|log|asset'
Bu komut, yapacağını düşündüğüm şeyi yapmıyor. İşte nasıl olacağını düşündüm :
- i - büyük / küçük harfe duyarlı olmayan arama
- n - desenin bulunduğu satır numarasını yazdır
- R - özyinelemeli arama
- w - Sadece tüm kelimeleri istiyorum - yani "doğrudan" ile eşleşir, "dizin" ile eşleşmez
- -E - genişletilmiş düzenli ifade kullan
- 'direct' - eşleştirmek istediğim normal ifade
- . - geçerli dizinde arama
- --exclude-dir -E 'git | log | asset' - git veya log veya öğeyle eşleşen dizinleri hariç tutar.
Hariç tutma dizinleri açısından, komut yine de './git' ve './log' dizinlerinde ve './app/assets' dizinlerinde arama yapar
Açıkçası temel bir bilgi eksikliğim var, ama bunun ne olduğunu bilmiyorum.