Как открыть большой файл в 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

 

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

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

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

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

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

Ответить

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

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