У меня есть структура каталогов, состоящая из:
iTunes/Music/${author}/${album}/${song.mp3}
Я реализовал сценарий для уменьшения скорости mp3-файла до 128 кбит / с, используя lame (который одновременно работает с одним файлом).
Мой 'normalize_mp3.sh' выглядит так:
#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for f in *.mp3
do
lame --cbr $f __out.mp3
mv __out.mp3 $f
done
IFS=$SAVEIFS
Это прекрасно работает, если я иду папка за папкой и выполняю эту команду, но я хотел бы иметь "глобальную" команду, как в 4DOS, чтобы я мог выполнить:
$ cd iTunes/Music
$ global normalize_mp3.sh
и global
команда будет проходить по всем подкаталогам и выполнять normalize_mp3.sh
чтобы удалить все мои mp3 во всех подпапках.
Кто-нибудь знает, существует ли Unix, эквивалентный global
команде 4DOS? Я пытался поиграть с find -exec
но у меня просто болит голова.