Разделите большой текстовый файл на несколько меньших — по строкам, размеру, количеству частей, символам, разделителю или регулярному выражению. Только в браузере, без загрузки. Подходит и для CSV-файлов.
У вас лог-файл слишком большой для письма, CSV-экспорт, не пролезающий через лимит загрузки, дамп базы, который нужно нарезать для медленного импорта. Этот инструмент нарезает ввод на несколько меньших .txt-файлов и упаковывает их в один ZIP — без загрузки, без установки, без командной строки.
Шесть правил разделения покрывают большинство случаев: разрезать на N равных частей, по размеру в байтах (КБ / МБ), по строкам, по символам, по буквальному разделителю или по регулярному выражению. С CSV-файлами всё работает так же — используйте режим СТРОКИ (LINES), чтобы разделить CSV на несколько файлов по числу строк, или БАЙТЫ (BYTES) — по размеру файла. Всё работает в браузере через несколько вызовов String.slice() и JSZip.
Перетащите файл .txt, .csv или .log в поле ввода — или вставьте текст напрямую. Всё обрабатывается в браузере, ничего не загружается.
Выберите ЧАСТИ (PARTS) для N равных кусков, БАЙТЫ (BYTES) для лимитов по размеру (КБ / МБ), СТРОКИ (LINES) для количества строк на файл (самый частый режим для CSV), СИМВОЛЫ (CHARS) для кодовых точек на файл, РАЗДЕЛ. (DELIM) для разделения по токенам или REGEX для разделения по шаблону.
Каждый выходной файл показывается как панель предпросмотра. Нажмите «Скачать ZIP» (Download ZIP), чтобы получить весь пакет — панели файлов — это только предпросмотр, реальный ZIP содержит полное содержимое каждого куска.
ЧАСТИ (PARTS) нарезают ввод на N равных по размеру кусков (N выбираете вы). БАЙТЫ (BYTES) делят по размеру файла — удобно для сценариев «разделить на файлы по 10 МБ». СТРОКИ (LINES) делят по числу строк — самый частый режим для CSV. СИМВОЛЫ (CHARS) делят по числу кодовых точек, где одна латинская буква, один иероглиф или один эмодзи считаются за 1.
Да. CSV — это просто текстовый файл с разделителем, поэтому к нему подходит любой режим. Самый частый паттерн — режим СТРОКИ (LINES), чтобы разделить CSV на несколько файлов по числу строк (например, 10 000 строк на файл). Для разделения по размеру вроде «разделить CSV на 1 ГБ на куски по 50 МБ» используйте режим БАЙТЫ (BYTES). Примечание: инструмент не определяет и не копирует строку заголовка — если заголовок нужен в каждом выходном файле, добавьте его вручную после скачивания.
Устанавливать ничего не нужно. Инструмент работает в любом современном браузере на Mac, Windows или Linux — никакой командной строки, никаких csplit, утилиты split или Python-скрипта. Откройте страницу, перетащите файл, нажмите «Скачать ZIP» (Download ZIP).
В режимах РАЗДЕЛ. (DELIM) и REGEX разделитель «съедается» при разделении — в каждый выходной файл попадают только части между разделителями. В режимах ЧАСТИ (PARTS), БАЙТЫ (BYTES), СТРОКИ (LINES) и СИМВОЛЫ (CHARS) разделителя нет, поэтому текст режется как есть.
Около 50 МБ обычного текста надёжно делятся в Chrome / Firefox на современном ноутбуке. Свыше ~200 МБ шаг упаковки в ZIP (JSZip — выполняется в вашей вкладке, а не на сервере) становится медленным и может зависнуть. Если так случится, обновите страницу и разбейте на меньше или меньших чанков. Предпросмотр специально ограничен 20 панелями × 5 строк в каждой, чтобы DOM оставался лёгким независимо от количества выходных файлов.
Само разделение быстрое — медленный этап это упаковка ZIP. Комфортно до ~10 МБ / 50 000 строк; ввод на 100 МБ ставит вкладку на паузу на 5–10 секунд во время сжатия JSZip. Выше ~500 000 строк этап ZIP может зависнуть. Каждая панель выходного файла показывает до 5 строк предпросмотра (с пометкой «+N ещё»); реальное содержимое файла в ZIP всегда полное.