Bash Shell Scripting - Como iterar arquivos e diretórios e copiar e renomear arquivos?

2

Eu tenho uma configuração de diretório da seguinte forma:

/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. Eu quero escrever um script que pode copiar esses arquivos para um local diferente, com um nome de arquivo diferente, como este:

/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.

Alguma ideia? Eu sou um lixo com scripts de shell

    
por jon 03.11.2011 / 04:08

1 resposta

2

src=/
dst=/files
for srcfile in ${src}Group*/*.wav; do
    srctrimmed="${srcfile#$src}"
    cp "$srcfile" "$dst/${srctrimmed/\//_}"
done
    
por 03.11.2011 / 06:56

Tags