【发布时间】:2019-04-18 13:19:12
【问题描述】:
我有一个 python 脚本,它不断将文本流写入标准输出。 像这样的东西(genstream.py):
while 1:
print (int(time.time()))
time.sleep(1)
我想要一个启动 python 脚本的 bash 脚本,将其输出保存到一组文件中,假设每小时拆分一次输出以避免创建难以管理的大文件。
然后,相同的 bash 脚本将处理如此创建的文件(即每个小时结束时的一个),以将值插入数据库并移动到存档文件夹。
我在谷歌/堆栈溢出中进行了搜索(例如 split STDIN to multiple files (and compress them if possible) Bash reading STDOUT stream in real-time 或 https://unix.stackexchange.com/questions/26175/ ),但到目前为止我没有找到任何解决方案。
我也尝试过使用像这样简单的东西(所以不考虑时间,只考虑行数)
python3 ./genstream.py | split -l5 -
但我没有输出。
我尝试了(命名)管道和三通的组合,但似乎没有任何效果。
【问题讨论】:
标签: bash file redirect split stdout