Sadece aradığınızı söyleyen yüklemi kaçırıyorsunuz (ör -name
.)
Ana dizinde ada göre bulmak için:
find ~ -name \*.pdf
Joker karakterin *
kaçması gerektiğine dikkat edin, böylece kabuk bulmadan önce onu yorumlamaz. Kullanmak '*.pdf'
ve "*.pdf"
ile aynı etkiye sahip olacaktır \*.pdf
.
Büyük / küçük harfe duyarsız bulmak için:
find ~ -iname \*.pdf
Sonuçları yalnızca dosyalarda budamak için (ad ifadesi muhtemelen sizin için bununla ilgilenir, ancak garip bir şekilde adlandırılmış dizinleriniz varsa):
find ~ -type f -iname \*.pdf
Bulmanın sembolik bağlantıları izlediğinden emin olmak için (genellikle arama yaparken bunu kendim yapmak istiyorum):
find ~ -follow -type f -iname \*.pdf
Bulduğunuz dosyalarla bir şeyler yapmak için: bunu stdout yeniden yönlendirmesini kullanarak bir dosyaya dökebilir (örn > filename
. Sonunda tutturma ) veya -exec
bir komut çalıştırma seçeneğini kullanabilirsiniz (ayrıntılar için kılavuz sayfasına bakın). İkincisi, her dosyada bir seferde bir komut çalıştırır. xargs
komutun bulunan dosyalarınızı bir kerede veya bir kerede büyük parçalar halinde başka bir komuta argüman olarak iletmesine izin vermek genellikle daha hızlıdır . Örneğin, ad-hoc (ancak unindexed) başlık dosyaları için açılır:
find ~ -follow -type f -name \*.h | xargs grep -nH "identifier"
İçinde boşluk olan dosya ve dizinleriniz varsa, son komutun düzgün çalışmasını sağlamak için son bir uzantı:
find ~ -follow -type f -name \*.h -print0 | xargs -0 grep -nH "identifier"
find
işe yaramaz olmaktan uzaktır.