def main(): parser = buildParser() args = parser.parse_args() # print(args) if not processArgs(args): return if args.delete: if args.complement: # delete those not in src doComplementDelete(set(args.src)) else: # delete those in src doDelete(set(args.src)) elif args.squeeze: if args.complement: doComplementSqueeze(args.src, args.rep) else: doSqueeze(args.src, args.rep) else: echoLines(-1, tillEOF=True)
def main(): parser = buildParser() args = parser.parse_args() # print(args) if not processArgs(args): return # check if given input files for i, f in enumerate(args.files + [sys.__stdin__]): if i: print() if args.files: if f == sys.__stdin__: # done already break else: # redirect input stream if args.verbose or not args.quiet and len(args.files) > 1: printHeader(f) f = open(f, errors = 'ignore') sys.stdin = f # deal with options if args.lines is not None: if args.skipLines: if not discardLines(args.lines - 1): echoLines(-1, tillEOF = True) else: echoLines(args.lines) elif args.chars is not None: if args.skipChars: # print('discard %d chars' % (args.chars - 1)) restOfLastLine, meetEOF = discardChars(args.chars - 1) if restOfLastLine: print(restOfLastLine, end = '') if not meetEOF: echoLines(-1, tillEOF = True) else: echoChars(args.chars) else: echoLines(-1, tillEOF = True) # close file if args.files: f.close() sys.stdin = sys.__stdin__