'da bulma komutunu kullanırken bir "dizin oluştur" sonucu, bir dizin yapısında yinelemeli olarak bir dizeyi bulmak için aşağıdaki komutu kullanıyorum.Unmit
find . -exec grep -l samplestring {} \;
Ama büyük bir dizin yapısı içinde komutunu çalıştırdığınızda,
grep: ./xxxx/xxxxx_yy/eee: Is a directory
grep: ./xxxx/xxxxx_yy/eee/local: Is a directory
grep: ./xxxx/xxxxx_yy/eee/lib: Is a directory
uzun bir liste olacak O yukarıdaki sonuçlara atlamak istiyorum. Ve sadece görüntülenen dize ile dosya adını alın. Birisi yardım edebilir mi? Eğer find .
diyorsun zaman
'-type f' ve' grep -r' veya 'grep -R'yi bulmak iyi seçimlerdir ... sadece yanıtı tamamlamak için, belki de şunu eklemelisiniz' -d skip 'özellikle' bir dizin var ' sorun ... en azından özyinelemeli arama için kabuk seçeneklerini kullanma gibi durumlarda, örneğin: grep -d skip -l 'samplestring' **/@ (*. txt | * .log) ' – Sundeep
@Sundeep nice ! -d'nin bayrağının farkında değildim. – fedorqui