Текстовый редактор для редактирования большого (4,3 ГБ) простого текстового файла


87

Есть ли текстовый редактор, который может редактировать такой файл?

Я пробовал:

  • gedit
  • kate
  • nano
  • vim
  • mcedit

безуспешно.


8
Вам нужно отредактировать или просто просмотреть? Если последнее, вы можете просто использовать «меньше» из CLI.
г-н Шунц

3
@MrShunz: да, я хочу отредактировать файл. @Bakhtiyor: ответ "ДА" :)
cupakob

2
Я рекомендую отредактировать ваш вопрос, чтобы упомянуть тот факт, что вы хотите редактировать файл. Это сделало бы так, чтобы людям не приходилось искать в комментариях, чтобы выяснить ваш вопрос и / или если ваш вопрос достаточно похож на тот, который у них есть.
Firefeather

1
Случайно ли вы пытаетесь открыть файл базы 42 молнии бомбы? У меня была эта проблема, и я обнаружил, что программа под названием «010 редактор» работает хорошо

Связано с переполнением стека: Работа с огромными файлами в Linux
Элия ​​Каган

Ответы:


81

Другой метод заключается в использовании split. Разделите файл на 8 частей и управляйте файлами с помощью редактора. После этого вы снова собираете файлы.

split -b 53750k <your-file>

cat xa* > <your-file>


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

кажется, это лучшее решение на данный момент ...
cupakob

9
Обратите внимание, что многие редакторы добавляют символ новой строки в конец вашего отредактированного файла, и делают это, не сообщая вам! Для получения дополнительной информации см. Как остановить Gedit, Gvim, Vim, Nano от добавления символа новой строки конца файла? askubuntu.com/q/20871/2670
Peter.O

хороший способ ... и тогда вы должны использовать vim с отдельными частями ... Я ненавижу vim: P, но он побеждает всех других редакторов здесь
Postadelmaga

1
@ Peter.O: ссылка изменилась? Мне трудно найти информацию о проблеме символа новой строки по этому URL. : / Обновление: нашел упомянутый вопрос здесь: askubuntu.com/q/13317/372950
rinogo 10.09.15

3
(Короче говоря, используйте, nano --nonewlinesчтобы избежать автоматического добавления новых строк)
Риного

39

Попробуй Джо . Я просто использовал его для редактирования файла дампа SQL ~ 5G. Открытие файла заняло около минуты, а его сохранение - несколько минут, с очень небольшим использованием подкачки (в системе с 4G RAM).


Это хорошо для меня, чтобы отредактировать 1GB XML-файл.
digitaljoel

Хорошо работает с файлами 2 Гбайт
Дамир Олехар

Пробовал на 14G файл дампа SQL, но не удалось с ошибкой ввода-вывода. (машина имеет 3 ГБ оперативной памяти и 3 ГБ подкачки).
tehwalrus

1
Вау! 'Джо' проходит - где многие терпят крах!
1111161171159459134

дал joe файл 4.6gb, и ничего не произошло в течение нескольких минут, так что бросил Hex Fiend открывает его мгновенно, но не похоже, что вы можете редактировать в нем
balupton

17

Вы не найдете их. Если вы хотите заменить некоторые строки в этом файле, вы можете посмотреть с помощью lessили grep и использовать sedдля поиска и замены некоторых строк.

нравится:

sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName

В Википедии есть несколько полезных примеров: http://en.wikipedia.org/wiki/Sed


3
Или особенно с -iфлагом (на месте), поэтому он ведет себя как текстовый редактор, который заменит исходное содержимое файла.
ИЛИ Mapper

Не использовать sed -i; вот для чего ed.
Фракием

14

Попробуйте, если хотите, но такие большие файлы становятся непрактичными, если вы хотите сделать «нормальное» редактирование; Например, вы не хотите сохранять свои правки слишком часто; это займет слишком много времени :)

Если это один раз, splitи он joinбудет работать достаточно хорошо, и достаточно просто разбить его на управляемые куски, а затем снова соединить кусочки ... Обратите внимание, что многие редакторы добавят символ новой строки в конец отредактированного текста. файл, и сделать это, не сообщая вам! Для получения дополнительной информации см. Как остановить Gedit, Gvim, Vim, Nano от добавления символа новой строки конца файла?

Попробуйте Gvim, если вы действительно хотите отредактировать такой большой файл .... Я только что загрузил в него файл размером 3,9 ГБ, и все кажется нормальным ...

Вот интересная ссылка по этому вопросу на stackoverflow


не работает с gvim ....
cupakob

1
@upakob: Только что успешно загрузил файл размером 4,5 ГБ в мою систему, используя Gvim ... Загрузка заняла 6 минут. Вы подождали достаточно долго? (Это то, что я имею в виду при сохранении файла. Это займет много времени) ... Попробуйте запустить, iotopчтобы посмотреть его статистику ввода-вывода во время загрузки. Системный монитор показывает, что у меня 3,2 ГБ ОЗУ (какие головоломки мне, так как у меня 4 ГБ) ...
Peter.O

1
@upakob: на этот раз я попробовал 8 ГБ, и Gvim успешно загрузил его ... Так что Gvim может "технически" обрабатывать большие, большие и, возможно, даже "БОЛЬШИЕ" файлы, но даже в этом случае это несколько "непрактично" (если вы не похожи на меня, готового ждать 41 минуту, чтобы загрузить 8 ГБ .. :) ... но я не думаю, что буду потрудиться сделать это снова .....
Peter.O

Вы, кажется, связали не тот вопрос.
psusi

Похоже, вы изменили первую ссылку, чтобы она была такой же, как и вторая, вместо того, чтобы «как остановить gedit и т. Д. От добавления конца файла в новую строку».
psusi

11

Используйте glogg - быстрый, умный обозреватель журналов: http://glogg.bonnefon.org/


4
Добро пожаловать на Askubuntu.com! Принимая во внимание, что предлагаемый пакет может решить проблему, обратите внимание, что glogg предназначен для поиска больших файлов, а не для их редактирования.
Йос

попробовал, он всегда раздутый.
Кайс

11

Существует еще один очень простой и быстрый способ замены содержимого в очень больших файлах (который работает вместо редактирования больших дампов MySQL)

Прежде всего, вы должны установить Midnight Comander - отличный файловый менеджер для Linux-систем.

sudo apt-get install mc

После этого вы можете открыть любой файл любого размера в «режиме просмотра» (с ярлыком F3), переключиться в режим просмотра HEX (ярлык F4) и активировать режим редактирования (ярлык F2).

Например, у меня был дамп mysql 3 ГБ, где я хочу удалить строку SQL. Я открываю режим просмотра, нахожу строку, открываю шестнадцатеричный режим и заменяю содержимое до нужной строки комментарием MYSQL (строка «-», шестнадцатеричные коды 2D 2D 20).

Пример: mc hex вид


2
Мои 5 центов - MC не удалось отредактировать файл 110 ГБ, но открылся в режиме просмотра.
Андрон

@ Андрон вы все еще можете заменить контент в режиме просмотра
user10635

интересно. Можешь описать как?
Андрон

1
@ Андрон, я уже описал это в своем ответе. :) Откройте режим просмотра, нажмите F4 для hex и замените любой контент в любом файле независимо от его размера.
user10635

о, ты прав. Просто обратите внимание, что в моем случае мне нужно заменить длинную строку (и), и поэтому это не подходит для меня. Но да, в общем, это возможно.
Андрон



4

neditТекстовый редактор был вокруг в течение долгого времени , и вполне способен. Он может открыть текстовый файл 1.9 Гб примерно за 20 секунд. Это оконный графический интерфейс со всеми стандартными функциями редактирования текста, такими как подсветка синтаксиса, отступы, нумерация строк и т. Д.

Если вы хотите изменить размер окна, сделайте это перед открытием большого файла. X11 Motif немного медленно изменяет размер, но это также и налоговый запрос.

Это во всех стандартных репозиториях, поэтому установите с:

sudo apt-get install nedit

Это GPLv2 с открытым исходным кодом.

https://sourceforge.net/projects/nedit/

Я пробираюсь через 30-40 Мб текстовых файлов и neditлегко с ними справляюсь .


3

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


2

Согласно этой статье Википедии Сравнение текстовых редакторов VIM среди других. Я собирался предложить Джани, но есть? в поле для поддержки больших файлов ...

РЕДАКТИРОВАТЬ: я пошел вперед и попытался с Geany и сдался после ожидания 10 минут с 3 привязанными ядрами и в основном всю мою память (виртуальную и физическую) используется все время ... Не окончательно, так как он мог бы открыть его, если я был более терпеливым Я искал и не нашел никаких настроек / предпочтений для обработки больших файлов по-разному.

Мне больше нравится ответ fred.bear.


2

В Windows у вас есть TextPad, EditPad и EmEditor.

В Linux у вас есть
кинезика:
http://turtlewar.org/projects/editor/

и многие шестнадцатеричные редакторы, такие как:
благослови
http://home.gna.org/bless/
или
wxhexeditor
http://wxhexeditor.sourceforge.net/home.php

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


1

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

Нашел редактор JOE, который может загрузить мой файл размером 6 ГБ за 2 минуты и позволил изучить файл.

Версия для Windows (sourceforge.net)

Ubuntu (sourceforge.net)


0

Я работаю с NetBeans : в этом контексте он лучше, чем Eclipse.

Я знаю, что это для разработчиков, но вы можете открыть любой простой текстовый файл с ним.


0

Emacs справится с этой задачей (я уже редактировал 10 + GiB-файлы в нем ранее), но для нового пользователя это примерно так же недружелюбно, как и для vim, поэтому может не удовлетворить ваши потребности. Кривая обучения довольно крутая.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.