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 за кадром)