मैं सभी फाइलों और फ़ोल्डरों को एक डायरेक्टरी से दूसरी डायरेक्टरी में कॉपी करने की कोशिश कर रहा हूं, लेकिन कुछ फाइलों को छोड़ दें। विशेष रूप से, मैं तोड़फोड़ फ़ाइलों और फ़ोल्डरों को बाहर करना चाहता हूं। हालाँकि, मैं एक सामान्य अभी तक संक्षिप्त समाधान चाहूँगा।
मुझे लगता है कि मुझे निकट भविष्य में कई प्रकार की फ़ाइलों को बाहर करने की आवश्यकता होगी। उदाहरण के लिए, मैं .svn, * .bak, और * .prj को बाहर करना चाह सकता हूं।
यहाँ मैंने इसके लिए एक साथ रखा है, लेकिन यह मेरे लिए काम नहीं कर रहा है। पहला भाग, काम ढूंढता है , लेकिन मैं xargs और cp के साथ कुछ गलत कर रहा हूं । मैं के साथ और बिना cp की कोशिश की -R। इसके अलावा, मैं ओएस एक्स का उपयोग कर रहा हूं और इसमें लिनक्स सिस्टम की तुलना में xargs का कम चित्रित संस्करण है ।
find ./sourcedirectory -not \( -name .svn -a -prune \)
| xargs -IFILES cp -R FILES ./destinationdirectory
-Rझंडा है, मुझे पूरा यकीन है। उसे निकालें और आपको ठीक होना चाहिए (हालाँकि आप -mindepth 1toplevel निर्देशिका फ़ोल्डर को अनदेखा करना चाहते हैं, जिसे आप कॉपी नहीं करना चाहते हैं, मुझे लगता है)
findआदेश-prune.svn आइटम को बाहर करने के लिए ठीक से उपयोग करता है, तो आप उस-Rध्वज को पास करते हैंcpजो उस आदेश को पुनरावर्ती बताता है । जब यह ऐसा होता है, तो आपके पासfindकमांड में जो भी ग्रैन्युलैरिटी होती है, आप खो देते हैं । मैं इसके साथ एक मिनट के लिए छेड़छाड़ करने जा रहा हूं, लेकिन मुझे लगता है कि इसका जवाब कमांड में उपयोग नहीं करना है ।-Rcp