我想使用 lame 压缩我的整个音乐收藏(实际上是它的副本)。所以很自然地,文件夹中有文件夹,文件名中可能有奇怪的字符。我也使用了图形声音转换器,但不喜欢它,因为它具有预定义的比特率。
到目前为止我尝试过的:
$ find . -name "*.mp3" | lame -b 160
Run Code Online (Sandbox Code Playgroud)
和
$ find . -name "*.mp3" > list
$ cat list | lame -b 160
Run Code Online (Sandbox Code Playgroud)
和
$ lame -b 160 < list
Run Code Online (Sandbox Code Playgroud)
所有这些都给了我使用错误。正确的做法是什么?另外,如果有覆盖原始文件的方法,我会很高兴。
lame无法从输入中读取文件名。您必须使用find's-exec或xargs在找到的每个文件上运行它:
find . -iname '*.mp3' -exec lame -b {} \;
Run Code Online (Sandbox Code Playgroud)
如果未指定第二个文件名,lame则将另一个.mp3文件名附加到给定的文件名并写入该文件。lame不支持写入同一个文件。您必须转换为另一个文件,然后将其复制到原始文件上:
find . -iname '*.mp3' -exec sh -c 'lame -b 160 "$0" "$0"-160 && mv "$0"-160 "$0"' {} \;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2012 次 |
| 最近记录: |