Breaks apart input stream into blocks and pipes each block into newly spawned processes
pip install git+https://github.com/kfzteile24/blockpype.git
Clone the repository and run visual tests that display each started PID and their output:
test/by-byte.sh
- should break apart in the middle of the 2-byte charactertest/by-char.sh
- should break apart in the middle of some numberstest/by-line.sh
- should break apart nicely line by line
cat content.txt | blockpype -l 10 other-program --arg-for-program --another-arg "argument value"
It will cut content.txt
into blocks of 10 lines, and for each block, a process will be started using the command:
other-program --arg-for-program --another-arg "argument value"
and the contents of the block will be served to stdin
Whenever you want to break apart a large stream when the other-program
consumer stores it into memory until EOF, and you don't have enough memory for it.
Similar to split --filter "other-program --arg-for-program --another-arg \"argument value\""
except less clunky, other-program
gets launched from current pwd
with the current user, and with the current environment variables.