Чем открывать большие текстовые файлы
Гигабайт и больше: чем открыть очень большой текстовый файл на Windows-ПК
Если вы уже хотя бы раз путались открыть на Windows-компе текстовый файл объемом от 1 гигабайта и больше (да, бывают и такие), то наверняка уже знаете, что текстовые редакторы из стандартного комплекта ОС Windows 10 для этого не годятся.
Ни «Блокнот«, ни «Wordpad» очень большие текстовые файлы не открывают.
И даже многие так называемые сторонние редакторы, в частности популярный Notepad++ работают только с файлами определенного и сравнительно небольшого размера.
Что это за текст такой аж на целый гиг? Разумеется, это не книжки. К примеру, это могут быть логи, файлы паролей и прочие сугубо специальные (и не очень) «произведения», которые тем не менее открывать приходится именно в текстовом формате. В этой связи, вкратце о том.
чем можно открыть очень большой текстовый файл на Windows-ПК
Ниже мы публикуем небольшую подборку программных инструментов. Все они бесплатные. Платные редакторы тоже есть (например, Ultra Edit тоже позволяет открывать очень объемные файлы), однако мы исходили из того, что решить обозначенную задачку можно и без денег.
Благо, возможность такая пока есть:
Вот как-то так. Как видим, программы в основном рассчитаны только на просмотр больших файлов без возможности их редактирования.
Потому если редактировать действительно надо, то можно предварительно разделить текстовый массив на несколько частей и потом вносить исправления в каждую по отдельности в том же Notepad++, к примеру. Но это только в тех ситуациях, если такая возможность есть и не нужно, скажем, производить поиск по всему файлу.
Работа с большими файлами экселя
Что такое большой файл? Ну так чтобы реально большой? В бытность свою я думал, что это файлик на 50-60 тыс строк записей. И оставался я бы в таком неведении до сих пор, но пришлось выполнять один проект, в котором надо было работать с файлами на 600-800 тыс строк. Хождение по мукам — под катом:
Что сначала
А сначала, друзья мои, ринулись мы в самое простое, что можно придумать. Interop.Excell, и все дела. Казалось. Ага, щаз. Как показали тестовые испытания, данный способ открытия приводил к тому, что за час было прочитано 200 тыс строк экселя, приложение активно потребляло оперативку, и раздвигало плечами остальные процессы на машине. Кончилось все ожидаемо, но следственный эксперимент надо было довести до конца — на 260 тысячах приложение свалилось в OutOfMemory на машине с 4 Гб. Стало понятно, что в лоб решить проблему не получится
Google it
Сколько нам открытий чудных… Гугль привел, как ни странно, в msdn, где я познакомился с двумя методами открытия очень больших файлов: DOM и SAX. Уж за давностью времен не вспомню, но какой то из них отвалился по причине опостылевшей уже на тот момент OutOfMemory, а второй был совершенно неюзабелен в плане доступа к данным. Почему — читаем ниже.
Из чего же, из чего же
Сделаны наши эксельки. Ни для кого, кто решил копнуть формат чуть глубже, не станет секретом, что в отличие от бинарным xls, xlsx — по сути zip архив с данными. Достаточно поменять расширение ручками и распаковать архив в папку — и мы получим всю внутреннюю структуру документа, что есть не что иное, как набор xml файлов и сопутствующей информации. Как оказалось, в корневом xml нет текстовых данных. Вместо этого мы имеем набор индексов, которые ссылаются на вспомогательный файл, в котором представлены пары «ключ/значение» Одним из вышеприведенных способов открыть то файл можно, но при этом нужно копаться в сопутствующих файлах и вытаскивать из них текстовые значения. Мрак.
И отступила тьма
После долгих мытарств и стенаний родилось следующее:
Наши любимые юзинги, которые некоторые личности забывают указывать:
using System;
using System.Collections. Generic ;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Linq;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
Собственно, сам код:
public delegate void MessageHave( string message);
public delegate void _DataLoaded( List string > data);
public delegate void _NewProcent( int col);
public static _DataLoaded DataLoaded;
public static _NewProcent NewProcent;
public static MessageHave MessageHave_Event;
id++;
if (id == calc)
<
NewProcent(id);
calc += 1000;
>
>
DataLoaded(lines);
>
cnn.Close();
>
catch (Exception ex)
<
MessageHave_Event( «Exception: » + ex.Message);
cnn.Close();
>
>
>
Код показал производительность порядка 15-20 минут на файлах в 600-800 тыс строк записей.
Если кому то реализация покажется кривой — сильно не пинать 🙂 Выслушаю все комментарии
Как открыть большой файл в Linux
В эпоху большого количества информации, большие файлы (размером больше 500 Мб) могут встречаться очень часто. Предположим что вам нужно найти информацию или отредактировать такой файл, но обычные текстовые редакторы не приспособлены для этой задачи и могут просто зависнуть при попытке открыть файл размером несколько гигабайт из-за нехватки памяти.
Если вы опытный системный администратор вы можете открыть такой файл используя комбинацию консольных команд cat, tail, grep, sed, awk и т д. В этой статье я расскажу о более дружелюбных способах открытия и редактирования больших файлов в Linux.
Сначала давайте создадим текстовый файл для экспериментов размером 500 Мб. Для этого воспользуемся командой:
1. Большие файлы в Vim
У текстового редактора Vim есть множество различных плагинов или скриптов которые расширяют его функциональность. Одним из таких плагинов есть LargeFile Plugin.
Этот плагин ускоряет загрузку и редактирование больших файлов путем отключения таких дополнительных функций Vim как события, отмена последнего действия, подсветка синтаксиса и т д.
Чтобы установить LargeFile plugin сначала необходимо установить vim, если он еще не установлен. Для Debian, Ubuntu, Linux Mint:
sudo apt install vim
В Fedora, ContOS, или RHEL:
sudo yim install vim-enhanced
Теперь скачайте плагин с официального сайта последняя версия на данный момент 5. Для установки в домашнюю директорию вы можете открыть vba файл расширения с помощью vim:
Наберите :so % и нажмите Enter, чтобы Vim установил расширение в домашнюю папку. Затем можете набирать :q для выхода. Плагин будет установлен в
/.vim/plugin/LargeFile.vim и вы сможете его использовать.
Когда большой файл загружается в vim этот плагин отключает события, отмену действий и подсветку синтаксиса. По умолчанию большими файлами считаются файлы размером более 100 Мб. Чтобы изменить эту настройку нужно отредактировать файл
/.vimrc. Например, будем считать большими файлы больше 10 Мб:
Несмотря на то что плагин LargeFile может ускорить загрузку и просмотр больших файлов сам vim справляется с редактированием больших файлов не очень хорошо потому что он пытается загрузить файл целиком в оперативную память. Например при загрузке моего текстового файла размером 500 Мб утилита будет занимать достаточно много оперативной памяти:
При этом на открытие файла ушло примерно 10-15 секунд. Так что если ваши файлы имеют размер больше чем количество оперативной памяти вам необходимо рассматривать другие варианты.
2. Glogg Log Explorer
Если все что вам нужно это просмотр содержимого файла и вы не собираетесь его редактировать вы можете использовать Glogg. Это анализатор логов с графическим интерфейсом. Glogg поддерживает фильтрацию вывода с помощью расширенных регулярных выражений и масок.
Для установки Glogg в Debilan (Wheezy и выше) Ubuntu и Linux Mint наберите:
sudo apt install glogg
Для установки в Fedora:
sudo yum install glogg
Для открытия текстового файла просто выполните:
Glogg открывает большие файлы очень быстро. Мой тестовый файл открылся практически мгновенно:
Вы можете ввести регулярное выражение в текстовое поле и и нажать поиск. Поддерживается поиск с учетом регистра, результаты поиска вы увидите в нижнем окне.
По сравнению с Vim, Glogg более легкий, для загрузки файла журнала размером 500 Мб было использовано всего лишь 141 Мб оперативной памяти.
3. JOE Text Editor
JOE это легкий консольный текстовый редактор выпущенный под лицензией GPL. JOE один из немногих текстовых редакторов поддерживающих работу с большими файлами. С его помощью можно открывать и редактировать файлы намного большего размера чем размер оперативной памяти.
К тому же JOE поддерживает множество мощных функций для редактирования текста, таких как: безопасное редактирование, поиск и замена по регулярным выражениям, неограниченная отмена и повтор операций, подсветка синтаксиса и т д.
Для установки JOE в Debian, Ubuntu, или Linux Mint наберите:
sudo apt install joe
Для Fedora, CentOS или RHEL:
sudo yum install joe
Чтобы открыть текстовый файл для редактирования выполните:
Загрузка больших файлов в JOE происходит немного медленнее чем в Glogg. На загрузку файла размером 500 Мб ушло примерно 15 секунд. Но это не так уж плохо учитывая что сразу после загрузки файл можно полноценно редактировать.
Потребление памяти JOE впечатляет. На загрузку и редактирование текстового файла размером 500 Мб было использовано 53 Мб физической памяти.
Если вам известный еще какой нибудь способ редактировать большие файлы, сообщите нам в комментариях.
Текстовый редактор для открытия больших (гигантских, огромных, больших) текстовых файлов [закрыто]
Я имею в виду 100+ MB большой; такие текстовые файлы могут толкать конверт редакторов.
Мне нужно просмотреть большой XML-файл, но не могу, если редактор глючит.
2 ответов
на 010Editor на Windows откроет гигантские (думаю, 50 ГБ) файлы в двоичном режиме и позволит редактировать и искать текст.
или, если вы просто хотите заглянуть в начало файла, встроенный Windows more команда может быть достаточно хороша.
почему вы используете редакция просто посмотреть у (большой) файл?
под *nix или Cygwin, просто используйте меньше («меньше значит больше», только лучше, так как вы можете создать резервную копию). Поиск и навигация под меньше очень похоже на Vim, но нет файла подкачки и мало оперативной памяти.
есть родной для Win32 порт GNU «less». См. комментарий под.
Piggybacking от некоторых комментариев ниже, Perl «..»(диапазон флип/флоп) оператор делает хороший механизм выбора, чтобы ограничить crud вы должны пробираться через, а также.
(начните с строки 1 миллион и остановитесь на строке 2 миллион, просеять выход вручную в «меньше»)
(начните, когда «интересное регулярное выражение» найдет что-то, остановитесь, когда «скучное регулярное выражение» найдет конец интересные блок-может найти несколько блоков, просеять выход. )
наконец, 100 МБ не слишком велик. 3 ГБ становится большим. Раньше я работал в print & mail facility, который создал около 2 % почты первого класса США. Одна из систем, для которой я был технологическим лидером, составляла около 15+ % писем. У нас было несколько больших файлов для отладки.
ТОП-5 лучших программ для чтения всех форматов файлов
Многие пользователи ПК часто загружают з сети файлы различных форматов. Зачастую это текстовые файлы, музыка и фильмы. И если для воспроизведения музыки и фильмов в нашем каталоге есть множество полезных программ, то для открытия текстовых файлов нужно подобрать такую утилиту, которая будет читать как можно больше форматов. Именно поэтому мы подобрали для вас пятерку лучших приложений, которые читают большинство современных форматов файлов и позволяют их редактировать.
Хорошая читалка для Windows должна обладать многочисленными функциями, которые обеспечивают комфортное чтение книги или текстового документа. Выше представлены программы для чтения текстовых файлов различных форматов. Все программы бесплатные и поддерживают русский язык. Однако рекомендуем обратить внимание на несколько программ: UniversalViewer, CoolReader, FBReader. Эти программы не только читают практически все форматы файлов, а именно: fb2, ePub, html, OpenReader, plucker и другие, но и позволяют их редактировать. А если в файле имеется рисунок, график или таблица, программы также их корректно считывают.
В случае, когда вы часто работает со сканированными книгами или научными трактатами, то стоит обратить внимание на DjVuReader и STDU Viewer. Эти программы позволяют выделять и сохранять фрагменты документов в буфер обмена, а после вставлять и форматировать их в любом текстовом редакторе. Это очень полезная функция для студентов, которые пишут курсовые и дипломные работы, а также нуждаются в копировании материала.
Поэтому, исходя из личных предпочтений, можно скачать на свой ПК любую из пяти представленных программ и наслаждаться корректным воспроизведением материала. Программы совместимы со всеми версиями Windows, а поэтому проблем с их установкой не возникнет.