Bash скрипт для выполнения одной команды для многих файлов

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

transcode -J stabilize --mplayer_probe -i DSCNXXX.MOV

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

for file in /media/Przenośny/transcdoe/*
do
transcode -J stabilize --mplayer_probe -i "$file" >> results.out
done

Стоит добавить, когда я отменяю операцию с помощью ctrl+c, скрипт автоматически переходит к следующему клипу и так далее.

1 ответ

Решение

Попробуйте с помощью команды find:

find /media/Przenośny/transcode/* -exec transcode -J stabilize --mplayer_probe -i {} \;

Мне нужно подождать ~1 мин после этого сообщения, чтобы увидеть следующий файл для перекодировки:

[decoder.c] cancelling the import threads 0:01:24,  ( 4, 9| 0, 0| 6, 1)

Перенаправление с >> бесполезен, так как все логи идут в stderr и довольно многословны (1 за кадром)

Другие вопросы по тегам