Skip to content

Instantly share code, notes, and snippets.

@mynameisfiber
Created May 24, 2012 19:35
Show Gist options
  • Save mynameisfiber/2783747 to your computer and use it in GitHub Desktop.
Save mynameisfiber/2783747 to your computer and use it in GitHub Desktop.
Chunkifier
#!/bin/env python
# $ seq 50 | python chunk.py 5 "xargs echo '-> '"
# -> 1 2 3 4 5
# -> 6 7 8 9 10
# -> 11 12 13 14 15
# -> 16 17 18 19 20
# -> 21 22 23 24 25
# -> 26 27 28 29 30
# -> 31 32 33 34 35
# -> 36 37 38 39 40
# -> 41 42 43 44 45
# -> 46 47 48 49 50
import sys
import subprocess
maxsize = int(sys.argv[1])
cmd = " ".join(sys.argv[2:])
data = []
while True:
try:
line = raw_input()
except EOFError:
break
data.append(line.strip())
if len(data) == maxsize:
fd = subprocess.Popen(cmd, stdin=subprocess.PIPE, shell=True)
fd.stdin.write("\n".join(data))
fd.communicate()
fd.wait()
data = []
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment