Разделить большой файл по значению в одном столбце (AWK)

Я хотел бы разбить большой файл (10 ^ 6 строк) в соответствии со значением в 6-м столбце (около 10 * 10 ^ 3 уникальных значений). Однако я не могу заставить его работать из-за количества записей. Это должно быть легко, но на это уходят часы, и я больше не получаю.

Я пробовал два варианта:
Вариант 1

awk '{print > $6".txt"}' input.file
awk: cannot open "Parent=mRNA:Solyc06g051570.2.1.txt" for output (Too many open files)

Вариант 2

awk '{print > $6; close($6)}' input.file 

Это не вызывает ошибки, но создаваемые файлы содержат только последнюю строку, соответствующую "группировке" значения $6

Это начало моего файла, однако этот файл не вызывает ошибку, потому что он настолько мал:

exon    3688    4407    +   ID=exon:Solyc06g005000.2.1.1    Parent=mRNA:Solyc06g005000.2.1
exon    4853    5604    +   ID=exon:Solyc06g005000.2.1.2    Parent=mRNA:Solyc06g005000.2.1
exon    7663    7998    +   ID=exon:Solyc06g005000.2.1.3    Parent=mRNA:Solyc06g005000.2.1
exon    9148    9408    +   ID=exon:Solyc06g005010.1.1.1    Parent=mRNA:Solyc06g005010.1.1
exon    13310   13330   +   ID=exon:Solyc06g005020.1.1.1    Parent=mRNA:Solyc06g005020.1.1
exon    13449   13532   +   ID=exon:Solyc06g005020.1.1.2    Parent=mRNA:Solyc06g005020.1.1
exon    13711   13783   +   ID=exon:Solyc06g005020.1.1.3    Parent=mRNA:Solyc06g005020.1.1
exon    14172   14236   +   ID=exon:Solyc06g005020.1.1.4    Parent=mRNA:Solyc06g005020.1.1
exon    14717   14803   +   ID=exon:Solyc06g005020.1.1.5    Parent=mRNA:Solyc06g005020.1.1
exon    14915   15016   +   ID=exon:Solyc06g005020.1.1.6    Parent=mRNA:Solyc06g005020.1.1
exon    22106   22261   +   ID=exon:Solyc06g005030.1.1.1    Parent=mRNA:Solyc06g005030.1.1
exon    23462   23749   -   ID=exon:Solyc06g005040.1.1.1    Parent=mRNA:Solyc06g005040.1.1
exon    24702   24713   -   ID=exon:Solyc06g005050.2.1.3    Parent=mRNA:Solyc06g005050.2.1
exon    24898   25402   -   ID=exon:Solyc06g005050.2.1.2    Parent=mRNA:Solyc06g005050.2.1
exon    25728   25845   -   ID=exon:Solyc06g005050.2.1.1    Parent=mRNA:Solyc06g005050.2.1
exon    36352   36835   +   ID=exon:Solyc06g005060.2.1.1    Parent=mRNA:Solyc06g005060.2.1
exon    36916   38132   +   ID=exon:Solyc06g005060.2.1.2    Parent=mRNA:Solyc06g005060.2.1
exon    57089   57096   +   ID=exon:Solyc06g005070.1.1.1    Parent=mRNA:Solyc06g005070.1.1
exon    57329   58268   +   ID=exon:Solyc06g005070.1.1.2    Parent=mRNA:Solyc06g005070.1.1
exon    59970   60505   -   ID=exon:Solyc06g005080.2.1.24   Parent=mRNA:Solyc06g005080.2.1
exon    60667   60783   -   ID=exon:Solyc06g005080.2.1.23   Parent=mRNA:Solyc06g005080.2.1
exon    63719   63880   -   ID=exon:Solyc06g005080.2.1.22   Parent=mRNA:Solyc06g005080.2.1
exon    64143   64298   -   ID=exon:Solyc06g005080.2.1.21   Parent=mRNA:Solyc06g005080.2.1
exon    66964   67191   -   ID=exon:Solyc06g005080.2.1.20   Parent=mRNA:Solyc06g005080.2.1
exon    71371   71559   -   ID=exon:Solyc06g005080.2.1.19   Parent=mRNA:Solyc06g005080.2.1
exon    73612   73717   -   ID=exon:Solyc06g005080.2.1.18   Parent=mRNA:Solyc06g005080.2.1
exon    76764   76894   -   ID=exon:Solyc06g005080.2.1.17   Parent=mRNA:Solyc06g005080.2.1
exon    77189   77251   -   ID=exon:Solyc06g005080.2.1.16   Parent=mRNA:Solyc06g005080.2.1
exon    80044   80122   -   ID=exon:Solyc06g005080.2.1.15   Parent=mRNA:Solyc06g005080.2.1
exon    80496   80638   -   ID=exon:Solyc06g005080.2.1.14   Parent=mRNA:Solyc06g005080.2.1

Ответы

Ответ 1

Вариант 2, используйте " → " вместо " > ", чтобы добавить.

awk '{print >> $6; close($6)}' input.file