我有一个目录设置如下:
/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