У меня есть скрипт на python, который непрерывно записывает поток текста в стандартный вывод.Примерно так (genstream.py):
while 1:
print (int(time.time()))
time.sleep(1)
Я хочу скрипт bash, который запускает скрипт python, сохраняет его вывод в набор файлов, скажем, чтобы разделить вывод каждый час, чтобы избежать созданияогромного файла, которым сложно управлять.
Созданные таким образом файлы будут затем обрабатываться (т. е. один в конце каждого часа) тем же сценарием bash для вставки значений в базу данных и перемещаться впапка архива.
Я выполнил поиск в Google / стек переполнения (например, разделить STDIN на несколько файлов (и сжать их, если это возможно) Bash чтения потока STDOUT в режиме реального времени или https://unix.stackexchange.com/questions/26175/), но я пока не нашел никакого решения.
Я пытался использовать что-то простое, как это (так, не принимая во внимание время, но только числолиний)
python3 ./genstream.py | split -l5 -
но у меня нет вывода.
Я пробовал комбинацию (именованных) труб и тройника, но, похоже, ничего не работает.