Nasıl grep ve sadece eşleşen çizgi döndürür? yani yol / dosya adı sonuçlardan çıkarılır.
Bu durumda, geçerli dizindeki tüm .bar dosyalarına bakmak ve FOO terimini aramak istiyorum
find . -name '*.bar' -exec grep -Hn FOO {} \;
Nasıl grep ve sadece eşleşen çizgi döndürür? yani yol / dosya adı sonuçlardan çıkarılır.
Bu durumda, geçerli dizindeki tüm .bar dosyalarına bakmak ve FOO terimini aramak istiyorum
find . -name '*.bar' -exec grep -Hn FOO {} \;
Yanıtlar:
Gerek yok find
. Sadece belirli bir dizinde bir desen arıyorsanız, bu yeterli olmalıdır:
grep -hn FOO /your/path/*.bar
Burada -h
itibaren, dosya gizlemek için bir parametredir man grep
:
-h, --no-dosyaadı
Çıktıda dosya adlarının önekini bastırın. Aranacak tek bir dosya (veya yalnızca standart girdi) olduğunda bu varsayılan değerdir.
Kullandığınızı unutmayın
-H, - dosyaadı ile
Her eşleşme için dosya adını yazdırın. Aranacak birden fazla dosya olduğunda bu varsayılan değerdir.
alias grep
. Takma adı atlamak için\grep ...