#!/usr/bin/env python # -*- mode: python, encoding: utf-8 -*- # See LICENSE file for copyright and license details. # Very limited GNU cut. import sys delimiter = '\t' fields = [] complement = False i, n = 1, len(sys.argv) while i < n: arg = sys.argv[i] if arg == '-d': i += 1 delimiter = sys.argv[i] elif arg == '-f': i += 1 fields += [int(f) - 1 for f in sys.argv[i].split(',')] elif arg == '--complement': complement = True i += 1 fields = set(fields) def modify(line): line = line.split(delimiter) if complement: line = [line[i] for i in range(len(line)) if i not in fields] else: line = [line[i] for i in range(len(line)) if i in fields] return delimiter.join(line) data = sys.stdin.read() data = '\n'.join(modify(line) for line in data.split('\n')) sys.stdout.write(data) sys.stdout.flush()