所以,我在bash中有一个名为songs_old的目录中有好几个文件。我想将它们复制到名称不同的歌曲文件夹中。输入文件的一些名称包括:批量复制并重命名Bash中的几个文件,使用下划线
unknownsong_song152.mid
town_song154.mid
nm_battle_song158.mid
fanfare_song159.mid
我想在“歌曲”的结果是这样的:
song152_unknownsong.mid
song154_town.mid
song158_nm_battle.mid
song159_fanfare.mid
我尝试下面的代码复制文件:
#!/bin/bash
for i in "./songs_old/"*".mid";do mkdir -p "./songs"
cp "$i" "./songs/`basename "${i%.*}" | cut -d'_' -f2`_`basename "${i%.*}" | cut -d'_' -f1`.mid"
done
我的结果如下:
song152_unknownsong.mid
song154_town.mid
battle_nm.mid
song159_fanfare.mid
如何复制具有所需结果的文件?
谢谢,我意识到我的错误:) – anubhava