#!/usr/local/bin/python # unpack result of "more x y z > f" # usage: "unmore2.py f" or "unmore2.py < f" # packages unpacking logic as an importable function import sys marker = ':'*14 def unmore(input): output = sys.stdout while 1: line = input.readline() if not line: # end of file? break elif line[:14] != marker: # text line? output.write(line) else: # file prefix fname = input.readline()[:-1] # strip eoln print 'creating', `fname` output = open(fname, "w") # next output if input.readline()[:14] != marker: print "OOPS!"; sys.exit(1) if __name__ == '__main__': if len(sys.argv) == 1: unmore(sys.stdin) # unmore2.py < f else: unmore(open(sys.argv[1], 'r')) # unmore2.py f print 'Done.'