*.c
Desen kabuk tarafından değerlendirilir. Bu, kullandığınız gibi geçerli dizine uygulanır ls *.c
.
Bunun yerine istediğinizi *.c
desenle eşleşen tüm dosyaları bulmak (yinelemeli) ve içinde grep
sizin için arama yapmak olduğunu düşünüyorum. İşte bunu yapmanın bir yolu:
find . -name "*.c" -print0 | xargs --null grep -l search-pattern
Bu kullanır xargs
arama sonuçlarını eklemek find
.
Alternatif olarak, -exec
bulmak için seçeneği kullanın, örneğin:
find . -name "*.c" -exec grep -l search-pattern "{}" \;
Ayrıca, -l
seçeneği gerçekten isteyip istemediğinizden emin değilim grep
. İlk maçta duracak:
-l, --files-with-matches
Suppress normal output; instead print the name of each
input file from which output would normally have been
printed. The scanning will stop on the first match.
(-l is specified by POSIX.)
--include=GLOB
Seçeneği bilmiyordum . Özyinelemeli seçenekle birlikte bu çok güçlüdür ve gerektirmezfind
. Güzel!