Ребята, я пытаюсь найти способ избежать ошибки awk "слишком много открытого файла". Вот моя ситуация:
INPUT: файл ASCII, много строк, по этой схеме:
NODE_212_lenght.._1
NODE_212_lenght.._2
NODE_213_lenght.._1
NODE_213_lenght.._2
Чтобы разделить этот файл с каждой записью с одинаковым номером NODE, я использовал эту однострочную команду awk
awk -F "_" '{print >("orfs_for_node_" $2 "")}' <file
Для файла, состоящего из множества строк, эта команда повторяет "слишком много открытых файлов". Я пробовал также, разделив 2k строк, то же самое.
На самом деле я не могу перейти под 2k строк, потому что входной файл - это огромный файл.
Я знаю, что awk может закрыть файл после выполнения чего-либо внутри, но на самом деле я не знаю, как это сделать. Я пытался добавить
awk -F "_" '{print >("orfs_for_node_" $2 ""); close(orfs_for_node_*)}' <file
но это не даст результата.