用于对多个文件执行一个命令的 Bash 脚本

用于对多个文件执行一个命令的 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 个)

相关内容