magic_owl Ответов: 0

Нужно лишить начало. / символов в функции


for f in ./*.mp3; do sox "$f" "${f%%.mp3}processed.mp3" silence 1 0.02 1% -1 0.02 1%; done


Это скрипт, который я использую для обработки аудиофайлов. Проблема в том, что он продолжает работать в цикле, обрабатывая и новые аудиофайлы. Я хотел бы исправить это, поместив вывод в подпапку, поэтому я попробовал это сделать:

for f in ./*.mp3; do sox "$f" "/subfolder${f%%.mp3}processed.mp3" silence 1 0.02 1% -1 0.02 1%; done


Это и есть выход:

/subfolder./01processed.mp3


Это дает мне ошибку с SoX, мне нужно удалить файл ./ перед выводом имени файла, как я могу это сделать? Это тот результат, который я хотел бы получить:

/subfolder/01processed.mp3


Что я уже пробовал:

Я попытался указать подпапку, но, похоже, не могу удалить ведущий файл ./ из имени файла, и это приводит к сбою SoX.

Richard MacCutchan

Почему бы не оставить ./ с самого начала, и код просто:
for f in *.mp3; ...

0 Ответов