Text editor to edit large (4.3 GB) plain text file
I recommend editing your question to mention the fact that you want to edit the file. That would make it so people didn’t have to search through comments to figure out your question and/or if your question is similar enough to one they have.
By any chance are you trying to open the 42 zip bomb base file? I had this problem and I found that a program called «010 editor» worked well
16 Answers 16
Another method is to use split . Split the file into 8 pieces and manipulate the files with a editor. After that, you reassemble the files again.
split -b 53750k cat xa* > SYNOPSIS split [OPTION]. [INPUT [PREFIX]] -a, --suffix-length=N use suffixes of length N (default 2) -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes use numeric suffixes instead of alphabetic -l, --lines=NUMBER put NUMBER lines per output file
Take note that many editors will add a newline character to the end of your edited file, and do it without informing you! For more info see How to stop Gedit, Gvim, Vim, Nano from adding End-of-File newline char? askubuntu.com/q/20871/2670
nice way . and then you should use vim with the single parts . I hate vim 😛 but It win all other editor here
@Peter.O: Did the link change? I’m having a hard time finding info on the newline character issue at that URL. :/ Update: Found the referenced question here: askubuntu.com/q/13317/372950
Try joe. I just used it to edit a ~5G SQL dump file. It took about a minute to open the file and a few minutes to save it, with very little use of swap (on a system with 4G RAM).
gave joe a 4.6gb file, and nothing happened for a few minutes, so gave up Hex Fiend opens it instantly, but does not seem you can edit in it
you will not find them. If you want to replace some lines in this file, you can look at with less or grep and use sed to search and replace some lines.
sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName
on Wikipedia are some useful examples: http://en.wikipedia.org/wiki/Sed
Or especially with the -i flag (in-place), so it behaves essentially like a text editor that will replace the original file content.
Give it a go, if you like, but such big files become impractical if you want to do «normal» editing; eg, you don’t want to go saving your edits too often; it will take too long 🙂
If it’s for a one off, split and join would work quite well, and it is simple enough to chop it up into managable chunks, and then rejoin the pieces. Take note that many editors will add a newline character to the end of your edited file, and do it without informing you! For more info see How to stop Gedit, Gvim, Vim, Nano from adding End-of-File newline char?
Try Gvim if you really want edit such a big file. I’ve just loaded a 3.9GB file into it, and all seems to be normal.
Here is an interesting link on the matter, at stackoverflow
Как открыть большой файл в Linux
В эпоху большого количества информации, большие файлы (размером больше 500 Мб) могут встречаться очень часто. Предположим что вам нужно найти информацию или отредактировать такой файл, но обычные текстовые редакторы не приспособлены для этой задачи и могут просто зависнуть при попытке открыть файл размером несколько гигабайт из-за нехватки памяти.
Если вы опытный системный администратор вы можете открыть такой файл используя комбинацию консольных команд cat, tail, grep, sed, awk и т д. В этой статье я расскажу о более дружелюбных способах открытия и редактирования больших файлов в Linux.
Сначала давайте создадим текстовый файл для экспериментов размером 500 Мб. Для этого воспользуемся командой:
yes «losst.pro » | head -c 500MB > test.txt
1. Большие файлы в Vim
У текстового редактора Vim есть множество различных плагинов или скриптов которые расширяют его функциональность. Одним из таких плагинов есть LargeFile Plugin.
Этот плагин ускоряет загрузку и редактирование больших файлов путем отключения таких дополнительных функций Vim как события, отмена последнего действия, подсветка синтаксиса и т д.
Чтобы установить LargeFile plugin сначала необходимо установить vim, если он еще не установлен. Для Debian, Ubuntu, Linux Mint:
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 наберите:
Для открытия текстового файла просто выполните:
Glogg открывает большие файлы очень быстро. Мой тестовый файл открылся практически мгновенно:
Вы можете ввести регулярное выражение в текстовое поле и и нажать поиск. Поддерживается поиск с учетом регистра, результаты поиска вы увидите в нижнем окне.
По сравнению с Vim, Glogg более легкий, для загрузки файла журнала размером 500 Мб было использовано всего лишь 141 Мб оперативной памяти.
3. JOE Text Editor
JOE это легкий консольный текстовый редактор выпущенный под лицензией GPL. JOE один из немногих текстовых редакторов поддерживающих работу с большими файлами. С его помощью можно открывать и редактировать файлы намного большего размера чем размер оперативной памяти.
К тому же JOE поддерживает множество мощных функций для редактирования текста, таких как: безопасное редактирование, поиск и замена по регулярным выражениям, неограниченная отмена и повтор операций, подсветка синтаксиса и т д.
Для установки JOE в Debian, Ubuntu, или Linux Mint наберите:
Для Fedora, CentOS или RHEL:
Чтобы открыть текстовый файл для редактирования выполните:
Загрузка больших файлов в JOE происходит немного медленнее чем в Glogg. На загрузку файла размером 500 Мб ушло примерно 15 секунд. Но это не так уж плохо учитывая что сразу после загрузки файл можно полноценно редактировать.
Потребление памяти JOE впечатляет. На загрузку и редактирование текстового файла размером 500 Мб было использовано 53 Мб физической памяти.
Если вам известный еще какой нибудь способ редактировать большие файлы, сообщите нам в комментариях.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.