標準入力をsplitしてpasteするpythonスクリプト
標準入力を指定行数でsplitして、その結果をpaste、 というのを一度にやりたかったけど良い方法がわからなかったのでpythonで自作した。
例えば以下のような9行を3行でsplitして、
このようにpasteする。
#!/usr/bin/env python import sys def split_paste(n): d = [[] for _ in range(n)] for i, l in enumerate(iter(sys.stdin.readline, '')): d[i % n].append(l.rstrip()) for l in d: print('\t'.join(l)) if __name__ == '__main__': if len(sys.argv) > 1: split_paste(int(sys.argv[1]))
デリミタはとりあえずtab固定。
seq 12 を4行ごとにsplit-pasteした結果
$ seq 12 | ./split-paste.py 4 1 5 9 2 6 10 3 7 11 4 8 12