$ sudo apt-get install normalize-audio mpg123
情況一: 只有一層目錄, 且檔名不重複
$ cd /path/to/mp3
$ tree
產生 Soft Link
$ find ./ -type f -name "*.mp3" -exec ln -s {} ./ \;
檢查是否有失敗連結
$ find ./ -type l | while read l; do if [ ! -e "$l" ]; then ls -l --color "$l"; fi; done
通常是檔名問題造成 Soft Link 產生失敗, 更名後刪除所有 Soft Link 並重複前一動作重新產生 Soft Link 即可
檢查檔案數量是否一致
$ find ./ -type f -name "*.mp3" | wc -l
$ find ./ -type l -name "*.mp3" | wc -l
批次平均音量
$ normalize-mp3 -m -v --mp3 --bitrate 320 *.mp3
把處理好的 MP3 檔案移入所屬目錄
$ find -maxdepth 1 -type d | tail -n +2 | while read d; do \
cd "$d"; ls | while read f; do \
if [ -f "../$f" ] && [ ! -h "../$f" ]; then mv "../$f" ./; fi \
done; cd -; done \
情況二: 多重目錄且有重複檔名
$ cd /path/to/mp3
$ tree
產生 Soft Link
$ find ./ -name "*.mp3" | while read f; do
LINKNAME="$(echo $f | awk -F '^./' '{print $2}' | sed 's/\//xxxxx/g')";
ln -s "$f" "$LINKNAME" 2>/dev/null; done
檢查是否有失敗連結
$ find ./ -type l | while read l; do if [ ! -e "$l" ]; then ls -l --color "$l"; fi; done
通常是檔名問題造成 Soft Link 產生失敗, 更名後刪除所有 Soft Link 並重複前一動作重新產生 Soft Link 即可
檢查檔案數量是否一致
$ find ./ -type f -name "*.mp3" | wc -l
$ find ./ -type l -name "*.mp3" | wc -l
批次平均音量
$ normalize-mp3 -m -v --mp3 --bitrate 320 *.mp3
把處理好的 MP3 檔案移入所屬目錄
$ ls *.mp3 | while read f; do if [ -n "$(echo $f | grep xxxxx)" ]; then mv "$f" "$(echo -n $f | sed 's/xxxxx/\//g')"; fi; done
感謝 Jamyy's Weblog 聯結
留言列表