我想将重放信息应用于我的音乐收藏中的所有 MP3 文件。为此,我使用了一个名为mp3gain的工具(在 Linux 上)。
为了正确应用专辑增益,我需要在每个目录的基础上运行 mp3gain 命令。换句话说,我需要找到一个目录,对该目录中的所有文件运行 mp3gain,然后对每个其他目录重复。到目前为止,我想出了这个:
find . -type d -exec mp3gain {}/*.mp3 \;
Run Code Online (Sandbox Code Playgroud)
输出如下所示(仅显示多个目录中的几个):
[...]
./dev2/Physicist/*.mp3
Can't open ./dev2/Physicist/*.mp3 for reading
./Real Things/*.mp3
Can't open ./Real Things/*.mp3 for reading
在我看来,' *' 正在被转义,因此它不是查找以 '.mp3' 结尾的所有文件,而是查找名为 ' *.mp3'的文件。
我应该使用什么命令?
看起来它没有正确地通配。这样的事情怎么样:
#!/bin/bash
OLDIFS=$IFS
IFS=$(echo -en "\n\b")
for dir in $(find . -type d)
do
mp3gain $dir/*
done
IFS=$OLDIFS
Run Code Online (Sandbox Code Playgroud)
作为单个命令:
OLDIFS=$IFS;IFS=$(echo -en "\n\b");for dir in $(find . -type d);do mp3gain $dir/*;done;IFS=$OLDIFS
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3974 次 |
| 最近记录: |