gpt4 book ai didi

bash - shell 脚本 : kill program after set time if output file is empty

转载 作者:行者123 更新时间:2023-11-29 09:47:59 24 4
gpt4 key购买 nike

我在终端内运行一个命令,该命令通过目录检查媒体文件,然后从这些文件中提取隐藏式字幕数据。不幸的是,即使不存在隐藏式字幕数据,程序仍会处理整个文件,这可能需要很长时间。我希望能够做的是在 60 秒后检查输出并查找数据,如果文件为空,则终止进程并继续处理下一个文件。

我的旧命令如下

for i in */*.vob
do
/home/me/ccextractor/linux/ccextractor -out=srt -utf8 -trim "$i"
done

我一直在试验 sleep 但我似乎无法让它工作。有什么建议吗?


解决方案

在以下答案的帮助下(也请注意评论),我最终的工作代码是:

for i in */*.vob
do
/home/me/ccextractor/linux/ccextractor -out=srt -utf8 -trim "$i" &
pid=$!
sleep 15
srtfile=$(expr "${i}" | sed -r 's/.{4}$//')
fgrep -q "1" "${srtfile}.srt" || kill $pid
wait $pid
done

最佳答案

您可以让CCExtractor在处理一分钟的视频后退出,不需要杀死进程或单独控制它。

ccextractor -endat 1:00 [etc]

会做你想做的。

关于bash - shell 脚本 : kill program after set time if output file is empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22586280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com