Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a directory setup as follows:

/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

..etc. I want to write a script that can COPY those files to a different location, with a different file name, like this:

/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

etc ..etc.

Any ideas? I'm rubbish with shell scripting

share|improve this question
src=/
dst=/files
for srcfile in ${src}Group*/*.wav; do
    srctrimmed="${srcfile#$src}"
    cp "$srcfile" "$dst/${srctrimmed/\//_}"
done
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .