我用 Python 创建了 10 个文件:
for i in range(1,10):
fn='file'+str(i)+'.tsv'
with open(fn, 'w') as f:
for line in range(1,4):
f.write('\t'.join('{}, line: {}, col: {}'.format(fn, line, col) for col in range(1,10)))
f.write('\n')
这会创建 10 个这种类型的文件:
file1.tsv, line: 1, col: 1 file1.tsv, line: 1, col: 2 file1.tsv, line: 1, col: 3 file1.tsv, line: 1, col: 4 file1.tsv, line: 1, col: 5 file1.tsv, line: 1, col: 6 file1.tsv, line: 1, col: 7 file1.tsv, line: 1, col: 8 file1.tsv, line: 1, col: 9
file1.tsv, line: 2, col: 1 file1.tsv, line: 2, col: 2 file1.tsv, line: 2, col: 3 file1.tsv, line: 2, col: 4 file1.tsv, line: 2, col: 5 file1.tsv, line: 2, col: 6 file1.tsv, line: 2, col: 7 file1.tsv, line: 2, col: 8 file1.tsv, line: 2, col: 9
file1.tsv, line: 3, col: 1 file1.tsv, line: 3, col: 2 file1.tsv, line: 3, col: 3 file1.tsv, line: 3, col: 4 file1.tsv, line: 3, col: 5 file1.tsv, line: 3, col: 6 file1.tsv, line: 3, col: 7 file1.tsv, line: 3, col: 8 file1.tsv, line: 3, col: 9
...
file9.tsv, line: 1, col: 1 file9.tsv, line: 1, col: 2 file9.tsv, line: 1, col: 3 file9.tsv, line: 1, col: 4 file9.tsv, line: 1, col: 5 file9.tsv, line: 1, col: 6 file9.tsv, line: 1, col: 7 file9.tsv, line: 1, col: 8 file9.tsv, line: 1, col: 9
file9.tsv, line: 2, col: 1 file9.tsv, line: 2, col: 2 file9.tsv, line: 2, col: 3 file9.tsv, line: 2, col: 4 file9.tsv, line: 2, col: 5 file9.tsv, line: 2, col: 6 file9.tsv, line: 2, col: 7 file9.tsv, line: 2, col: 8 file9.tsv, line: 2, col: 9
file9.tsv, line: 3, col: 1 file9.tsv, line: 3, col: 2 file9.tsv, line: 3, col: 3 file9.tsv, line: 3, col: 4 file9.tsv, line: 3, col: 5 file9.tsv, line: 3, col: 6 file9.tsv, line: 3, col: 7 file9.tsv, line: 3, col: 8 file9.tsv, line: 3, col: 9
现在您有了这些示例文件(这就是答案),只需使用cut:
$ cut -f 7 *.tsv
file1.tsv, line: 1, col: 7
file1.tsv, line: 2, col: 7
file1.tsv, line: 3, col: 7
file2.tsv, line: 1, col: 7
file2.tsv, line: 2, col: 7
file2.tsv, line: 3, col: 7
file3.tsv, line: 1, col: 7
file3.tsv, line: 2, col: 7
file3.tsv, line: 3, col: 7
file4.tsv, line: 1, col: 7
file4.tsv, line: 2, col: 7
file4.tsv, line: 3, col: 7
file5.tsv, line: 1, col: 7
file5.tsv, line: 2, col: 7
file5.tsv, line: 3, col: 7
file6.tsv, line: 1, col: 7
file6.tsv, line: 2, col: 7
file6.tsv, line: 3, col: 7
file7.tsv, line: 1, col: 7
file7.tsv, line: 2, col: 7
file7.tsv, line: 3, col: 7
file8.tsv, line: 1, col: 7
file8.tsv, line: 2, col: 7
file8.tsv, line: 3, col: 7
file9.tsv, line: 1, col: 7
file9.tsv, line: 2, col: 7
file9.tsv, line: 3, col: 7
然后使用tr 标记这些结果:
$ cut -f 7 *.tsv | tr '\n' '\t'
file1.tsv, line: 1, col: 7 file1.tsv, line: 2, col: 7 file1.tsv, line: 3, col: 7 file2.tsv, line: 1, col: 7 file2.tsv, line: 2, col: 7 file2.tsv, line: 3, col: 7 file3.tsv, line: 1, col: 7 file3.tsv, line: 2, col: 7 file3.tsv, line: 3, col: 7 file4.tsv, line: 1, col: 7 file4.tsv, line: 2, col: 7 file4.tsv, line: 3, col: 7 file5.tsv, line: 1, col: 7 file5.tsv, line: 2, col: 7 file5.tsv, line: 3, col: 7 file6.tsv, line: 1, col: 7 file6.tsv, line: 2, col: 7 file6.tsv, line: 3, col: 7 file7.tsv, line: 1, col: 7 file7.tsv, line: 2, col: 7 file7.tsv, line: 3, col: 7 file8.tsv, line: 1, col: 7 file8.tsv, line: 2, col: 7 file8.tsv, line: 3, col: 7 file9.tsv, line: 1, col: 7 file9.tsv, line: 2, col: 7 file9.tsv, line: 3, col: 7
或paste:
$ cut -f 7 *.tsv | paste -s -d '\t' -
file1.tsv, line: 1, col: 7 file1.tsv, line: 2, col: 7 file1.tsv, line: 3, col: 7 file2.tsv, line: 1, col: 7 file2.tsv, line: 2, col: 7 file2.tsv, line: 3, col: 7 file3.tsv, line: 1, col: 7 file3.tsv, line: 2, col: 7 file3.tsv, line: 3, col: 7 file4.tsv, line: 1, col: 7 file4.tsv, line: 2, col: 7 file4.tsv, line: 3, col: 7 file5.tsv, line: 1, col: 7 file5.tsv, line: 2, col: 7 file5.tsv, line: 3, col: 7 file6.tsv, line: 1, col: 7 file6.tsv, line: 2, col: 7 file6.tsv, line: 3, col: 7 file7.tsv, line: 1, col: 7 file7.tsv, line: 2, col: 7 file7.tsv, line: 3, col: 7 file8.tsv, line: 1, col: 7 file8.tsv, line: 2, col: 7 file8.tsv, line: 3, col: 7 file9.tsv, line: 1, col: 7 file9.tsv, line: 2, col: 7 file9.tsv, line: 3, col: 7