Я пытаюсь использовать bash для
1) cycle through files in a directory
2) then create a sub-directory based on the file names
3) then split mp3 files using ffmpeg in 3 second increments.
. Я могу создать подкаталоги, и код ffmpeg разбивает файлы, используя правильные имена.Кажется, у меня проблема в петле.Он создает каталог split-chirp и все его файлы, но не обрабатывает файл pink.mp3 .См. Изображение ниже начального каталога
См. Изображение конечного каталога
Не создаетсякаталог split-pink и все файлы (я знаю, что это проблема зацикливания, просто не могу понять, почему)
Я запускаю код с помощью команды bash mp3spl.sh *.mp3
Кодниже
#!/bin/bash
currentdir=$(pwd) #get current directory
for f in $currentdir/*.mp3
do
fn=`echo "$1" | cut -d'.' -f1` #get just the filename no extension
splitdirname="$currentdir/split-$fn" #sub directory with correct names
mkdir -p "$splitdirname" #make split directory
echo "Processing $f"
ffmpeg -i "$1" 2> tmp.txt
ffmpeg -i "$1" -f segment -segment_time 3 -ar 22050 -ac 1 "$splitdirname/$fn-%03d.mp3"
#rm tmp.txt
done