假设我有一个可执行文件,batch_processor
它从stdin读取数据行并为输入的每一行执行一个复杂的任务。如果我的数据在名为的文件中data.txt
,则可以通过键入以下命令来运行此作业:
bacth_processor < data.txt
要么:
cat data.txt | batch_processor
在每种情况下,都将batch_processor
尽快消耗源数据。
现在,假设我要有意限制此过程。如果我的文件有100,000行,并且我希望该工作花费24小时来减少对系统的影响(每秒可以影响到一行多一点),那么我可以在管道中插入一些内容来人为地增加延迟每行之间?
这个怎么样?
cat data.txt | while read x; do echo "$x"; sleep 0.7; done | batch_processor
或者您可以在其中使用Python / Ruby / Perl /任何工具,而不是bash循环。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句