Как открыть большой файл в Linux

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

Если вы опытный системный администратор вы можете открыть такой файл используя комбинацию консольных команд cat, tail, grep, sed, awk и т д. В этой статье я рассмотрю более дружелюбные способы открытия и редактирования больших файлов в Linux.

Плагин для Vim

У текстового редактора Vim есть множество различных плагинов или скриптов которые расширяют его функциональность. Одним из таких плагинов есть LargeFile Plugin.

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

Чтобы установить LargeFile plugin сначала необходимо установить vim, если он еще не установлен:

Для Debian, Ubuntu, Linux Mint:

sudo apt-get install vim

В Fedora, ContOS, или RHEL:

sudo yim install vim-enhanced

Теперь скачайте плагин с официального сайта последняя версия на данный момент — 5.

Для установки в домашнюю директорию вы можете открыть vba файл расширения с помощью vim:

$ unzip LargeFile.vba.gz

$ vim LargeFile.vba

11313669794_2a6175d9c2_z

Наберите «:so %» и нажмите Enter, чтобы Vim установил расширение в домашнюю папку.

11313669824_335e73ebb8_z

Затем можете набирать «:q» для выхода. Плагин будет установлен в ~/.vim/plugin/LargeFile.vim и вы сможете его использовать. Когда большой файл загружается в vim этот плагин отключает события, отмену действий и подсветку синтаксиса. По умолчанию большими файлами считаются файлы размером более 100 мб. Чтобы изменить эту настройку нужно отредактировать файл ~/.vimrc (создайте если не существует):

Чтобы изменить минимальный размер большого файла добавьте следующую строчку в vimrc:

let g:LargeFile=10

Несмотря на то что плагин LargeFile может ускорить загрузку и просмотр больших файлов сам vim справляется с редактированием больших файлов не очень хорошо потому что он пытается загрузить файл целиком в оперативную память. Например при загрузке файла размером 1 гб vim будет занимать памяти и пространства подкачки как на скриншоте:

11313640366_0064c698ac_z

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

Glogg Log Explorer

Если все что вам нужно это просмотр содержимого файла и вы не собираетесь его редактировать вы можете использовать Glogg. Это анализатор логов с графическим интерфейсом. Glogg поддерживает фильтрацию вывода с помощью расширенных регулярных выражений и масок.

Для установки Glogg в Debilan (Wheezy и выше) Ubuntu и Linux MInt наберите:

 $ sudo apt-get install glogg

Для установки в Fedora (17 +):

sudo yum install glogg

Для открытия текстового файла просто выполните:

glogg test.log

Glogg открывает большие файлы очень быстро. У меня ушло приблизительно 12 секунд на открытие файла размером 1 гигабайт.

11313640286_4ebee2b959_z

Вы можете ввести регулярное выражение в текстовое поле и и нажать поиск. Поддерживается поиск с учетом регистра, результаты поиска вы увидите в нижнем окне.

11313670024_c4fa57653d_z

По сравнению с vim glogg более легкий, для загрузки файла журнала размером 1 гигабайт было использовано всего лишь 83 мб оперативной памяти.

11313594455_d57c700c4b_z

JOE Text Editor

JOE это легкий консольный текстовый редактор выпущенный под лицензией GPL. JOE один из немногих текстовых редакторов поддерживающих работу с большими файлами. С его помощью можно открывать и редактировать файлы намного большего размера чем размер оперативной памяти.

К тому же JOE поддерживает множество мощных функций для редактирования текста, таких как: безопасное редактирование, поиск и замена по регулярным выражениям, неограниченная отмена и повтор операций, подсветка синтаксиса и т д.

Для установки JOE в Debian, Ubuntu, или Linux Mint наберите:

sudo apt-get install joe

Для Fedora, CentOS или RHEL:

sudo yum install joe

Чтобы открыть текстовый файл для редактирования выполните:

joe test.log

11317402126_406058bf78_z

Загрузка больших файлов в JOE происходит немного медленнее чем в Glogg. На загрузку файла размером 1 гб ушло примерно 30 секунд. Но это не так уж плохо учитывая что сразу после загрузки файл можно полноценно редактировать.

Потребление памяти JOE впечатляет. На загрузку и редактирование текстового файла размером 1 Гб было использовано 47 Мб физической памяти.

11317483233_2017b5878b_z

 

Если вам известный еще какой нибудь способ редактировать большие файлы, сообщите нам в комментариях.

Creative Commons License
Статья Как открыть большой файл в Linux распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Ваше имя тоже может быть здесь. Начните писать статьи для Losst. Это просто! Смотрите подробнее как начать писать статьи - Пишите для нас

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Пока оценок нет)
Загрузка...

2 комментария

  1. Мдя Сентябрь 6, 2017 Ответить
  2. МДЯ Ноябрь 10, 2017 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: