У меня большой текстовый файл, который мне нужно разделить на несколько меньших (менее 1 МБ) файлов. Кажется, что split
это то, что я хочу здесь.
Однако, если я попробую следующее (используя 900k в качестве предела, чтобы дать некоторый буфер перед жестким ограничением в 1MB):
split -a 2 -b 900k total.sql createtables_
Это сделает каждую часть точно 900k (кроме последней части), скорее всего, разделив строки в местах, где он разделяет файл.
Итак, есть ли способ сделать его только разделенным на границах линий? Другими словами, должен ли он сделать куски как можно ближе (без перебора) к пределу, указанному в аргументе -b
, гарантируя, что он разбивается только на границах строк?
Или единственная опция - использовать опцию -l
для разделения на разделение на основе количества строк, и просто использовать метод проб и ошибок, чтобы найти параметр, который ограничивает все файлы?
Или split
не является правильным инструментом для использования?