सबफ़ोल्डर से फ़ाइलों को पुन: कॉपी करें और फ़ाइल एक्सटेंशन जोड़ें


1

मेरे पास फ़ोल्डर संरचना है:

/[randomChars]/icons/icon_[randomNumbersAndChars]

उदाहरण के लिए:

/awbwaidhawd/icons/icon_1241245
/awbwaidhawd/icons/icon_1552542
/awgawbvbbbb/icons/icon_1552542
/aawbbbbbbbb/icons/icon_1161266

मुझे सभी आइकन फ़ाइलों को पुनरावर्ती रूप से हड़पने की आवश्यकता है, फ़ाइल एक्सटेंशन ".Png" को उनके साथ जोड़ें और उन्हें दूसरे फ़ोल्डर में कॉपी करें।

इसका मतलब है कि मैं निम्नलिखित परिणाम प्राप्त करना चाहता हूं:

/icon_1241245.png
/icon_1552542.png
/icon_1552542.png
/icon_1161266.png

उसके लिए मैं मानक बैश लाइनिंग स्क्रिप्टिंग का उपयोग करना चाहता हूं।

आप इसे कैसे प्राप्त कर सकते हैं?

संपादित करें:

शायद मुझे यह जोड़ना चाहिए कि पहली परत में अधिक सबफ़ोल्डर हैं जो महत्वपूर्ण नहीं हैं। इसका मतलब है कि उदाहरण के लिए एक फ़ोल्डर है:

/awbwaidhawd/avatars/

ऐसे फ़ोल्डरों को स्कैन नहीं किया जाना चाहिए।

इसके अतिरिक्त, "आइकन" फ़ोल्डर में ऐसी फाइलें हो सकती हैं जिनका नाम "icon_xxxxx" नहीं है। उन फ़ाइलों को भी स्थानांतरित नहीं किया जाना चाहिए।


अब तक तुमने क्या प्रयास किये हैं? सुपर उपयोगकर्ता एक स्क्रिप्ट लेखन सेवा नहीं है; कोड के लिए एकमात्र अनुरोधों को अधिक (सकारात्मक) ध्यान नहीं मिल सकता है। यदि आप प्रश्न को संपादित करते हैं और अपना शोध प्रयास दिखाते हैं (आपके द्वारा किए गए सटीक आदेशों को पोस्ट करें, तो हमें बताएं कि आप कहां फंस गए हैं) तो आप एक अच्छे उत्तर के लिए अपनी संभावना बढ़ाएंगे।
कामिल मैकियोरोस्की

जवाबों:


0

शायद यह एक सरल उपाय है:

find /source/directory -type f -execdir cp {} `pwd`/destination/directory/\{\}.png \;

--nameयदि आप प्रत्येक फ़ाइल की प्रतिलिपि नहीं चाहते हैं, तो बेशक आप इसे नाम ( ) से फ़िल्टर कर सकते हैं । कृपया ध्यान दें कि यदि समान नाम वाली फाइलें हैं, तो वे ओवरराइट हो जाएंगे /destination/directory/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.