所以,我有一个音乐目录。在这个目录中,我有多个文件夹,所有文件夹都有不同的名称,没有模式。 [前。 Daytona OST,sonic cd等。]。
我想在所有这些脚本中运行一个将所有.flac转换为.mp3的脚本,但我只能逐个运行该脚本。
我可以基本上编写一个脚本,将cd放入第一个目录,执行脚本,退出,然后cd进入第二个目录,然后重新执行吗?
文件夹没有模式,所以我认为没有办法用通配符来实现。
为了方便起见,我希望在每个目录中运行的脚本称为conversiontomp3.sh
。
答案 0 :(得分:0)
您可以使用globstar
并在循环中获取所有.flac文件:
#!/bin/bash
shopt -s globstar
for f in **/*.flac; do
[[ -f $f ]] || continue # skip if not a regular file
conversiontomp3.sh "$f"
done
这里假设转换脚本将mp3文件保存在.flac文件所在的目录中。如果不是这样,您可能需要获取.flac文件的目录并将输出文件名传递给脚本。