PROJECTS
|___ SITE1
| |____files (to exclude)
| |____img
| |____js
|
|___ SITE2
| |____files (to exclude)
| |____img
| |____js
|
|___ SITE3
|____files (to exclude)
|____img
|____js
Halo, saya ingin mencari SITUS folder x tidak termasuk konten file folder.
Saya mencoba ini tetapi itu menampilkan saya kesalahan izin untuk file ke file folder (jadi sepertinya tidak mengecualikannya):
find . ! -path "*/files/*" -type f -name 'foo'
Ini ditampilkan (Saya di direktori PROYEK):
./SITE1/img/foo.png
./SITE1/js/foo.js
find: `./SITE1/files/201501': Permission denied
find: `./SITE1/files/201412': Permission denied
find: `./SITE1/files/201501': Permission denied
... (the two firsts matches are pretty good, but I break the execution after, it print too many indesirble matches)
Saya terinspirasi oleh tanggapan ini pada askubuntu .
Saya juga mencoba opsi -prune suka dalam contoh ini tanpa menemukan solusi ...
Saya ingin memiliki yang setara dengan pencarian ini dengan egrep tetapi untuk nama file
egrep -Rns --exclude-dir=files 'foo' *
Terima kasih atas bantuan Anda !
find
di Linux atau apakah Anda dapat menggunakan Windows untuk ini?-prune
arahan darifind
. Saya sarankan Anda mencari contoh (ada beberapa yang bagus di sini di Super User), karena halaman manual dengan sendirinya tidak terlalu menjelaskan tentang cara menggunakan-prune
.-"files" -directory
dan itu terjadi persis apa yang diminta tanpa harus terlebih dahulu membuka jendela terminal baru,cd
ke direktori, lalu mencari tahu sintaks darifind
perintah. Itu*nix
tampaknya sangat mirip dengan jalan "panjang". Tetapi saya di sini bukan untuk menginjili, saya hanya ingin melihat apakah ada pilihan lain atau apakah metode lain akan membantu.Jawaban:
OK selesai !
Saya tidak tahu cara menggunakan argumen prune. Ini menanggapi permintaan saya
Penjelasan lebih lanjut sini
Di sisi lain saya harus penasaran jika ada sintaks dengan ! (BUKAN) argumen seperti ini contoh di AskUbuntu jika seseorang punya ide.
sumber
AskUbuntu
contoh yang Anda tautkan tidak berhentifind
dari terus menelusuri direktori tersebut, sehingga Anda masih akan mendapatkan kesalahan. Sintaks Anda tidak buruk, dan paling buruk tidak pernah lebih lambat (hampir selalu lebih cepat). Meskipun, perhatikan bahwa dengan menggunakan*
, dari pada.
, Anda kemungkinan menghilangkan dotfile di direktori tingkat atas Anda