我正在尝试将我的所有WAV文件转换为FLAC文件,使FLAC的音乐目录与WAV的音乐目录相同。

目前,我已经建立了音乐文件,因此可以在其中找到一张典型的专辑:

/ directory1 / directory2 / directory3 / Music / WAV /艺术家/专辑

因此,我希望我的FLAC文件一对一对应,如下所示:

/ directory1 / directory2 / directory3 / Music / FLAC /艺术家/专辑。

我知道我将不得不使用find列出所有目录/子目录,如下所示:
find -type d -exec commands.sh
但是,我该如何写commands.sh文件,使其将在WAV目录中获取路径的Artist/Album部分,在FLAC目录中将mkdir与/ Artist / Album相同,然后将flac输出到FLAC / Artist / Album目录中?

我知道将flacs转换为您选择的输出目录的命令是:
flac -5 --out-prefix="/desired/output/path" *.wav
所以我想我只是在抓取/重新创建文件路径时遇到了麻烦!

最佳答案

使用脚本语言(如ruby,perl或python),这会容易得多。用任何一种语言,这样的事情都是一个相当简单的入门项目。有一些用于查找和路径操作的库
一切都很容易。

但是,有两个posix实用程序可以帮助拆分路径名。 dirname和basename。我认为那两个和sed应该让你做
你想要什么。

如果不是您希望在手册页中查找的内容,Find将始终返回相对路径,并且默认情况下,目标目录中会出现任何exec。您可以强制find停留在顶层目录中。

10-08 16:47