कॉपी एमपी 3 एक लक्ष्य निर्देशिका के लिए निर्देशिका संरचना को बनाए रखने और फ़ाइलों को हटाने जब कॉपी पूरा


1

फ़ाइलों की प्रतिलिपि बनाने और निर्देशिका संरचना रखने के लिए यहां यह उत्तर मिला।

फ़ाइलों की प्रतिलिपि बनाएँ

find . -name '*.xxx' -exec cp -iv --parents -t /path/to/target_dir {} +

क्या प्रतिलिपि फ़ाइलों की सूची बनाए रखने और स्रोत निर्देशिका से फ़ाइलों को हटाने का एक आसान तरीका है?

जवाबों:


1

"स्रोत निर्देशिका से फ़ाइलें हटाएं" आमतौर पर अनुवाद करता है mv। दुर्भाग्य से mvएक विकल्प की तरह नहीं है --parent। के साथ सबसे आसान समाधान cpशायद है: cpहर फ़ाइल के लिए एक बार कॉल करें । अक्षम लेकिन कोड के लिए आसान:

find . -type f \
  -name '*.xxx' -exec cp -iv --parents {} /path/to/target_dir \; -delete

cpसफलतापूर्वक बाहर निकलने पर फ़ाइल हटा दी जाती है । -deleteजीएनयू के लिए विशिष्ट हो सकता है find


@ हेकिंग लैगिंग तो यह सब डाइरेक्टरीज़ में बदल जाएगा?
Sayth

@ sayth क्या आपका findकोड है?
हौके लागिंग

खोजो। -name '* * .xxx' -exec cp -iv --parents {} / path / to / target_dir \; -डेली को -type f को हटाना था, तब इसने सही काम किया।
Sayth

1
@sayth का -type fअर्थ बहुत ही अजीब होता है, जिसका अर्थ है "केवल नियमित फाइलों पर कार्य करना" (निर्देशिका, FIFO, डिवाइस फ़ाइलों और इस तरह को छोड़कर)।
हॉज लैगिंग

Sayth: ~ $ मिल। -type f \ -name '* .mp3' -exec cp -iv --parents {} / home / sayth / Music \; -प्लेट ढूंढें: पथों की पूर्ववर्ती अभिव्यक्ति होनी चाहिए: -name उपयोग: [[-L] [-L] [-पी] [-ओवल] [-D मदद | वृक्ष | खोज | प्रतिमा | दरों | ऑप्ट | निष्पादन] [पथ। ..] [अभिव्यक्ति]
जुथ २'१४
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.