我有很多有两种语言的mp3文件,所以
语言1是EN / 1 / 1.mp3 .... EN / 2 / 12.mp3
语言2是DE / 1 / 1.mp3 .... DE / 2 / 12.mp3
所以文件在同一个子文件夹和同名中,我想合并它们
EN / 1 / 1.mp3和DE / 1 / 1.mp3为1个文件并保存在文件夹ENDE / 1 / 1.mp3
我使用此命令
cat EN/1/1.mp3 DE/1/1.mp3 > ENDE/1/1.mp3
并且它可以工作,但我想要的东西会将此命令循环到所有子文件夹中的所有文件。
答案 0 :(得分:2)
要循环浏览文件,您可以使用以下内容,但正如@ekaerovets所述,我相信您的文件无效。
cd EN
for F in */*.mp3; do
mkdir -p ../ENDE/$(dirname $F)
cat $F ../DE/$F > ../ENDE/$F
done
假设您的文件只是一个深度的子目录。如果树更深,那么find
会更合适,即:
cd EN
for F in $(find -type f -name \*.mp3); do
mkdir -p ../ENDE/$(dirname $F)
cat $F ../DE/$F > ../ENDE/$F
done