BigText

Мгновенно открывайте огромные текстовые файлы

1 ГБ, 10 ГБ, 50 ГБ и больше — без зависаний и ожидания.

BigText — бесплатный редактор с открытым кодом для лог-файлов, выгрузок CSV, дампов баз данных и любых файлов, которые слишком велики для обычных редакторов. Он никогда не загружает файл в память целиком: лог на 10 ГБ открывается за миллисекунды и занимает около 100 МБ ОЗУ.

Windows · Linux · macOS · Лицензия MIT · Написан на Rust

BigText показывает строку 45 357 933 лог-файла на 10 ГБ с подсветкой; панель производительности показывает 99 МБ занятой памяти
  • 41 мсдо первого экрана файла на 50 ГБ
  • 2,5 ГБ/сскорость полнотекстового поиска
  • 107 МБОЗУ с открытым файлом на 50 ГБ
  • < 3 мсвремя кадра интерфейса во время индексации

Всё для работы с гигантскими файлами

Для логов, дампов CSV и SQL, выгрузок JSON и любых текстовых файлов, на которых другие редакторы зависают.

Файлы любого размера

Читается только видимая часть — через окна отображения файла в память. Фоновые задачи читают остальное потоком, а для сетевых и USB-дисков есть кэшированное чтение блоками, поэтому медленный диск не блокирует окно.

Мгновенный переход к строке

Разреженный индекс строк (8 байт на 64 КБ) строится в фоне со скоростью 2,5 ГБ/с. Переход к строке и полоса прокрутки работают сразу, ещё до конца индексации.

Быстрый поиск и регулярные выражения

Обычный текст — 2,5 ГБ/с, регулярные выражения за линейное время, учёт регистра, целые слова, многострочный режим. «Найти все» выводит до миллиона результатов, F3 работает сразу.

Замена в гигабайтах

Замена с $1 и именованными группами. До 50 000 замен — одна отменяемая правка; большие задачи пишутся в новый файл потоком: 22 млн замен в файле на 10 ГБ — 11 с и 46 МБ ОЗУ.

Полноценное редактирование

Ввод, вырезание, копирование, вставка, отмена и повтор, дублирование и удаление строк, автоотступ — поверх таблицы фрагментов, так что файл не переписывается до сохранения.

Безопасное сохранение

Сохранение пишет временный файл, сбрасывает его на диск и атомарно заменяет оригинал. Сбой или отключение питания не оставят полузаписанный файл. Резервная копия .bak по желанию.

Кодировки и hex-режим

UTF-8, UTF-16 LE/BE, Windows-1251, Windows-1252 и ISO-8859-1 определяются автоматически; концы строк LF, CRLF и CR сохраняются или конвертируются. Двоичные файлы — в hex-режиме.

Инструменты для логов

Режим слежения (как tail -f) за растущими логами, подсветка логов, JSON, XML, CSV, SQL и INI, закладки и разделённый вид одного файла.

Сравнение огромных файлов

Потоковое построчное сравнение двух многогигабайтных файлов: 1 ГБ с 1 ГБ за 0,6 с и около 2 МБ памяти. Щелчок по отличию переходит к нему.

Фильтр и подсветка

Показывайте только строки с совпадениями или, наоборот, без них, как grep по всему файлу, и сохраняйте их в новый файл. Подсвечивайте шаблоны вроде ERROR своими цветами и смотрите на полосе прокрутки, где скапливаются совпадения.

Переход ко времени

Введите 14:32:05 и окажетесь на первой строке лога с этим временем: двоичный поиск читает несколько сотен килобайт из лога на 50 ГБ. Выделите строки, чтобы увидеть время между ними.

Сжатые логи и конвейеры

Открывайте файлы .gz и .zst напрямую, передавайте BigText вывод команды (journalctl -f | bigtext -) или открывайте app.log:120 сразу на нужной строке из командной строки.

Таблицы CSV

CSV и TSV открываются таблицей, которая прокручивается так же быстро, как текст. Сортировка по столбцу, статистика столбца, фильтр по столбцу, переименование, перемещение, экспорт и удаление столбцов.

Инструменты для текста

Сортировка, удаление повторов и разворот строк, смена регистра, удаление пробелов, форматирование и сжатие JSON, правка многих строк сразу выделением столбцом (Alt+перетаскивание).

Как вам удобно

Палитра команд (Ctrl+Shift+P), настраиваемые сочетания клавиш, любой моноширинный шрифт и интерфейс на английском, русском или узбекском.

Анализ логов

Панель уровней с фильтрами ERROR, WARN, INFO и DEBUG и F8 к следующей ошибке, гистограмма по времени, поля логов, шаблоны сообщений, частые значения, разрывы во времени, а также строки вокруг каждого совпадения или с тем же id запроса.

Логи бок о бок во времени

Объединяйте несколько логов по времени в один цветной вид или выравнивайте открытые логи и прокручивайте их вместе по времени с настраиваемым сдвигом часов. Слежение переживает ротацию логов.

JSON и XML

Панель структуры, JSON-путь курсора в строке состояния, сворачивание, JSON Lines в виде таблицы с запросами, строгая проверка с указанием места ошибки, преобразование между JSON, JSON Lines и logfmt и структурное сравнение.

Таблицы с расчётами

Группировка с суммами, сводные таблицы, объединение двух файлов по ключу, вычисляемые столбцы, диаграммы по столбцам, закреплённые и скрытые столбцы, проверка строк и экспорт в JSON, Markdown или Excel.

Сравнение как вам нужно

Бок о бок или в виде unified diff, следующее и предыдущее отличие, без учёта пробелов, регистра или меток времени, строки только из одного файла, сравнение CSV по ключу и применение патчей.

Архивы и большие правки

Файлы внутри архивов zip и tar, файлы .xz и .bz2, видимые ещё во время распаковки, сохранение сразу в .gz или .zst, несколько курсоров, редактор столбцов, сортировка, удаление повторов и любая команда над файлом любого размера.

Поиск в файлах и скрипты

Поиск по всей папке с результатами file:line и bigtext-cli для count, head, tail, slice, replace, работы с CSV и вывода JSON в скриптах. Сеансы, портативный режим, а повторный запуск открывает файл в уже запущенном окне.

Удобно каждому

Высококонтрастные темы и темы для людей с нарушением цветового зрения, масштаб интерфейса, поддержка экранного диктора, режим дзен, перенос по столбцу с линейкой, кликабельная строка состояния и настройки, запоминаемые для каждого файла.

Скриншоты

Почему BigText такой быстрый

Обычные редакторы читают весь файл, прежде чем что-то показать. BigText читает только то, что на экране, а всё остальное делает в фоновых потоках, поэтому окно отвечает быстрее чем за 3 мс.

Окна отображения в память

Файл отображается окнами по 256 МБ, и читаются только байты, которые вы видите. Поиск, индексация и сохранение используют отдельное потоковое чтение.

Разреженный индекс строк

Одна 8-байтовая контрольная точка на 64 КБ: 8 МБ индекса для файла на 50 ГБ. Строки между точками считаются по запросу с помощью SIMD.

Таблица фрагментов

Правки хранятся как небольшие фрагменты поверх исходного файла: вставка строки в файл на 50 ГБ стоит несколько байт, а отмена мгновенна.

Атомарное сохранение

Временный файл рядом с оригиналом, fsync, затем атомарная замена (ReplaceFileW в Windows сохраняет атрибуты и права доступа).

Измеренная производительность

Результаты встроенных бенчмарков на тестовых файлах 1, 10 и 50 ГБ в Windows 11. Методика и полные результаты — в README. README

ЗадачаРезультат
Открытие → первый экран текста (1–50 ГБ)41–46 мс
Переход к строке в файле на 50 ГБменьше 1 мс
Построение индекса строк2,2–2,7 ГБ/с (50 ГБ примерно за 20 с)
Поиск обычного текста2,4–2,5 ГБ/с
Поиск по регулярному выражению2,3–2,8 ГБ/с с литеральной частью, 672 МБ/с без неё
«Заменить все» в файле на 10 ГБ11,3 с, пик памяти 46 МБ
Память с открытым файлом на 50 ГБ107 МБ
Запуск → первый кадр159–185 мс

Скачать BigText

Бесплатно для личного и коммерческого использования. Без аккаунта, без телеметрии, один исполняемый файл.

Linux x64

AppImage для большинства дистрибутивов, пакет .deb для Debian и Ubuntu или портативный архив .tar.gz.

macOS

BigText.app для Apple Silicon и Intel. Приложение не подписано: при первом запуске — правый щелчок → Открыть.

Все релизы и примечания к ним

Установка через Cargo

Установите Rust с rustup.rs и выполните:

cargo install bigtext

Или соберите из исходников:

git clone https://github.com/Erkinbek/bigtext.git
cd bigtext
cargo build --release

Частые вопросы

Как открыть текстовый файл на 50 ГБ?

Установите BigText и откройте файл через Файл → Открыть, перетащив его в окно или через правый щелчок → «Открыть в BigText». Первый экран появляется примерно за 40 мс при любом размере; прокрутка и переход к строке работают, пока индекс строится в фоне.

BigText загружает весь файл в память?

Нет. Он отображает в память только видимую часть, а остальное читает потоком в фоне. С открытым файлом на 50 ГБ он занимает около 107 МБ ОЗУ, и большая часть этого — сам интерфейс.

Можно ли редактировать и сохранять очень большие файлы?

Да. Правки хранятся в таблице фрагментов поверх исходного файла, поэтому ввод мгновенный при любом размере. При сохранении результат пишется во временный файл и атомарно заменяет оригинал, так что оригинал не пострадает, если что-то пойдёт не так.

Насколько быстрый поиск в огромных файлах?

Обычный текст ищется со скоростью 2,4–2,5 ГБ/с, типичные регулярные выражения — 2,3–2,8 ГБ/с, то есть лог на 10 ГБ просматривается примерно за 4 секунды. F3 находит следующее совпадение сразу, без полного поиска.

Можно ли следить за растущим логом, как tail -f?

Да. Вид → Следить держит конец файла на экране и индексирует новые строки по мере появления. BigText также замечает изменения файла на диске и предлагает перезагрузить его.

Откроет ли он файл из одной огромной строки, например минифицированный JSON?

Да. Строки длиннее 64 КБ показываются с мягкими переносами, поэтому даже одна строка на 2 ГБ прокручивается плавно.

Какие кодировки и концы строк поддерживаются?

UTF-8, UTF-16 LE/BE (с BOM и без), Windows-1251, Windows-1252 и ISO-8859-1 определяются автоматически и переключаются через Файл → Открыть заново в кодировке. Концы строк LF, CRLF, CR и смешанные распознаются и могут быть преобразованы при сохранении.

BigText бесплатный? На каких системах он работает?

BigText бесплатный, с открытым кодом под лицензией MIT. Основная, полностью протестированная платформа — Windows 10 и 11; сборки для Linux и macOS (Apple Silicon и Intel) собираются и тестируются в CI при каждом изменении.