我有一个非常大的制表符分隔文本文件。文件中的许多行对于文件中的列之一(称为列 k)具有相同的值。我想将这个文件分成多个文件,将具有相同k值的条目放在同一个文件中。我怎样才能做到这一点?例如:
a foo
1 bar
c foo
2 bar
d foo
应拆分为包含条目“a foo”、“c foo”和“d foo”的文件“foo”和包含条目“1 bar”和“2 bar”的名为“bar”的文件。
我如何在 shell 脚本或 Python 中执行此操作?
谢谢。
最佳答案
我不确定它的效率如何,但快速简便的方法是利用 awk
中文件重定向的工作方式:
awk '{ print >> $5 }' yourfile
这会将每一行(未修改的)附加到以 5
列命名的文件中。根据需要进行调整。
关于python - 根据列的值有效地将一个文件拆分成多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5305132/