#!/usr/bin/env python # -*- mode: python, encoding: utf-8 -*- # libgamma -- Display server abstraction layer for gamma ramp adjustments # Copyright (C) 2014 Mattias Andrée (maandree@member.fsf.org) # # This library is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this library. If not, see <http://www.gnu.org/licenses/>. # 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()