Я могу сказать 'разделению' не разделять строки?

У меня есть файл крупного текста, что я должен разделить на серию меньших (менее чем 1 МБ) файлы. Это кажется этим split то, что я хочу здесь.

Однако, если я пробую следующее (использующий 900k как предел для предоставления некоторого буфера перед жестким пределом 1 МБ):

split -a 2 -b 900k total.sql createtables_

Это сделает каждую часть точно 900k (кроме последней части), скорее всего, разделяя строки в местах, где это разделяет файл.

Так, есть ли способ заставить его только разделить на границах строки? Другими словами, имейте его, делают части максимально близко (не переходя) предел, указанный в -b аргумент, гарантируя его только разделяет на границах строки?

Или единственная опция использовать -l опция разделить, чтобы разделить на основе количества строки и просто использовать метод проб и ошибок для нахождения параметра, чем сохраняет все файлы под пределом?

Или split не правильный инструмент для использования?

4
задан 28.02.2016, 03:16

2 ответа

split -l является лучшим, можно сделать исходно на   Mac OS X. С GNU coreutils, можно использовать split -C 900k. Можно установить GNU coreutils на OSX, например, через Порты Darwion или Fink или MacPorts.

3
ответ дан 07.12.2019, 20:45

Не уверенный, что версия split Вы используете, но имеете Вас, попробовал --line-bytes=BYTES опция? В моей системе это может также быть введено как -C BYTES.

1
ответ дан 07.12.2019, 20:45

Теги

Похожие вопросы