0

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

目前我已经建立了我的音乐档案,这样一张典型的专辑就在这里:

/directory1/directory2/directory3/音乐/ WAV /艺术家/专辑

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

/directory1/directory2/directory3/音乐/ FLAC /艺术家/专辑。

我知道我将不得不使用find列出所有目录/子目录,如下所示:

find -type d -exec commands.sh

但是我如何编写commands.sh文件,使其将获取Artist/AlbumWAV目录中的路径部分,mkdir即FLAC目录中的/Artist/Album,然后将flacs输出到FLAC/Artist/Album目录?

我知道将flacs转换为您选择的输出目录的命令是:

flac -5 --out-prefix="/desired/output/path" *.wav

所以我想我只是在抓取/重新创建文件路径时遇到了麻烦!

4

1 回答 1

0

这在 ruby​​、perl 或 python 等脚本语言中会容易得多。像这样的东西在任何这些语言中都是一个相当简单的入门项目。有一些用于查找和路径操作的库使这一切变得非常容易。

但是,有两个 posix 实用程序可以帮助拆分路径名。目录名和基本名。我认为这两个和 sed 应该让你做你想做的事。

Find 将始终返回相对路径,并且默认情况下任何 exec 都出现在目标目录中,如果这不是您想要在手册页中查看的内容。您可以强制 find 保留在顶级目录中。

于 2013-10-19T15:17:27.547 回答