बैश शैल स्क्रिप्टिंग - फ़ाइलों और निर्देशिकाओं के माध्यम से पुनरावृति कैसे करें, और फ़ाइलों की प्रतिलिपि बनाएँ और नाम बदलें?


2

मेरे पास एक निर्देशिका सेटअप निम्नानुसार है:

/Group1/audiofile1.wav
/Group1/audiofile2.wav
/Group1/audiofile3.wav
/Group1/audiofile4.wav

/Group2/audiofile1.wav
/Group2/audiofile2.wav

/Group3/audiofile1.wav
/Group3/audiofile2.wav
/Group3/audiofile3.wav
/Group3/audiofile4.wav
/Group3/audiofile5.wav

..आदि। मैं एक स्क्रिप्ट लिखना चाहता हूं जो उन फ़ाइलों को एक अलग स्थान पर कॉपी कर सकती है, एक अलग फ़ाइल नाम के साथ, इस तरह:

/files/Group1_audiofile1.wav
/files/Group1_audiofile2.wav
/files/Group1_audiofile3.wav
/files/Group1_audiofile4.wav

/files/Group2_audiofile1.wav
/files/Group2_audiofile2.wav

/files/Group3_audiofile1.wav
/files/Group3_audiofile2.wav

आदि ..आदि।

कोई विचार? मैं शेल स्क्रिप्टिंग के साथ बकवास कर रहा हूं

जवाबों:


2
src=/
dst=/files
for srcfile in ${src}Group*/*.wav; do
    srctrimmed="${srcfile#$src}"
    cp "$srcfile" "$dst/${srctrimmed/\//_}"
done
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.