Tüm dosya ve klasörleri bir dizinden diğerine kopyalamaya çalışıyorum, ancak belirli dosyaları hariç tutuyorum. Özellikle, alt sürüm dosyaları ve klasörleri hariç tutmak istiyorum. Ancak genel ama özlü bir çözüm istiyorum.
Yakın gelecekte birkaç tür dosyayı hariç tutma ihtiyacını bulacağımı düşünüyorum. Örneğin, .svn, * .bak ve * .prj'yi hariç tutmak isteyebilirim.
İşte benim için böyle bir araya getirdim, ama benim için çalışmıyor. İlk bölüm, iş bulmak, ama ben xargs ve cp ile yanlış bir şey yapıyorum . Ben ile ve olmadan cp denedim -R. Ayrıca, OS X kullanıyorum ve Linux sistemlerinden daha az özellikli xargs sürümüne sahip gibi görünüyor .
find ./sourcedirectory -not \( -name .svn -a -prune \)
| xargs -IFILES cp -R FILES ./destinationdirectory
-Rben eminim, bayrağı. Bunu kaldırın ve iyi olmalısınız ( -mindepth 1kopyalamak istemediğiniz en üst düzey dizin klasörünü yok saymak için eklemek isteyebilirsiniz, ancak sanırım)
findkomut düzgün kullanır-pruneöğeleri .svn dışlamak için, daha sonra pas-Rbayrağıcpsöyler o özyinelemeli olmak komutu. Bunu yaptığınızda,findkomutta sahip olduğunuz ayrıntı düzeyini kaybedersiniz . Bir dakika bununla tinker gidiyorum ama cevap olduğunu düşünüyorum değil kullanımına-Riçindecpkomuta.