Bash Shell 脚本 - 如何遍历文件和目录以及复制和重命名文件?

Bash Shell 脚本 - 如何遍历文件和目录以及复制和重命名文件?

我有一个目录设置如下:

/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

等等等等

有什么想法吗?我对 shell 脚本一窍不通

答案1

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

相关内容