Единственной неортодоксальной частью проблемы является разделитель записей. Я уверен, что это легко исправить в awk - но я ненавижу awk
.
Я бы сначала перенес это в область «нормальных» проблем:
tr '$' '\n' < large_records.txt | split -l 1000
По умолчанию создаются файлы xaa
, xab
, xac
...; посмотрите man split
, чтобы узнать больше вариантов