Существуют ли какие-либо редакторы, которые могут редактировать текстовые файлы размером в несколько гигабайт, возможно, загружая в память только небольшие части за раз? Не похоже, что Vim может с этим справиться = (
vim
text
text-editor
Филип Брокум
источник
источник
Ответы:
Если вы на * NIX (и предполагая , что вы должны изменить только части файла (и редко)), вы можете разделить файлы ( с помощью
split
команды), редактировать их по отдельности ( с использованиемawk
,sed
или что - то подобное) и сцепить их после того, как вам сделано.источник
Ctrl-C остановит загрузку файла. Если файл достаточно мал, вам, возможно, повезло, что вы загрузили все содержимое и просто убили все шаги пост-загрузки. При использовании этого совета убедитесь, что загружен весь файл.
Vim неплохо справляется с большими файлами. Я только что отредактировал файл размером 3,4 ГБ, удалив строки и т. Д. Следует помнить о трех вещах:
:115355
приведет вас прямо к строке 115355, что намного быстрее в таких больших файлах. Кажется, что Vim начинает сканирование с самого начала каждый раз, когда загружает буфер строк, и удерживание Ctrl-F для сканирования файла кажется очень медленным ближе к его концу.Примечание. Если ваш экземпляр Vim находится в режиме только для чтения, потому что вы нажали Ctrl-C, возможно, Vim не загрузил весь файл в буфер. Если это произойдет, при сохранении сохранится только то, что находится в буфере, а не весь файл . Вы можете быстро проверить с помощью a,
G
чтобы перейти к концу и убедиться, что все строки в вашем файле присутствуют.источник
Это могут быть плагины, которые заставляют его задыхаться. (выделение синтаксиса, складки и т. д.)
Вы можете запускать vim без плагинов.
Это минималистично, но по крайней мере даст вам привычные движения vi.
еще один очевидный. Сократите установку и найдите то, что вам нужно. Вы узнаете, на что он способен и нужно ли вам решать задачу другими способами.
источник
Небольшое улучшение ответа, данного @Al pachio, с решением split + vim, вы можете читать файлы с помощью glob, эффективно используя фрагменты файлов в качестве буфера, например
источник
Возможно, вы захотите проверить этот плагин VIM, который отключает определенные функции vim в интересах скорости при загрузке больших файлов.
источник
Я пытался сделать это, в основном с файлами размером около 1 ГБ, когда мне нужно было внести небольшие изменения в дамп SQL. Я использую Windows, и это очень больно. Это серьезно сложно.
Возникает очевидный вопрос: «а зачем вам это нужно?». Я могу сказать вам по опыту, когда вам приходилось пробовать это более одного раза, вы, вероятно, действительно хотите попробовать найти другой способ.
Итак, как вы это делаете? Я сделал это несколькими способами. Иногда я могу заставить vim или nano открыть файл, и я могу их использовать. Это действительно тяжелая боль, но она работает.
Когда это не сработает (как в вашем случае), у вас есть только несколько вариантов. Вы можете написать небольшую программу для внесения необходимых вам изменений (например, поиск и замену). Вы можете использовать программу командной строки, которая может это сделать (может быть, это можно сделать с помощью sed / awk / grep / etc?)
Если это не сработает, вы всегда можете разделить файл на куски (что-то вроде split является очевидным выбором, но вы можете использовать голову / хвост, чтобы получить нужную часть), а затем отредактировать части, которые в ней нуждаются, а потом рекомбинировать.
Однако поверьте мне, попробуйте найти другой способ.
источник
Я думаю, что шестнадцатеричные редакторы довольно часто обрабатывают огромные файлы. В Windows я использую HxD , который утверждает, что обрабатывает файлы размером до 8 ЭБ (8 миллиардов гигабайт).
источник
hexedit
Я использую vim 7.3.3 в Win7 x64 с плагином LargeFile Чарльза Кэмпбелла для обработки многогигабайтных простых текстовых файлов. Это действительно хорошо работает.
Надеюсь, ты справишься.
источник
Вау, никогда не удавалось заставить vim подавиться, даже с одним или двумя ГБ. Я слышал, что UltraEdit (в Windows) и BBEdit (на Mac) даже больше подходят для файлов еще большего размера, но у меня нет личного опыта.
источник
Раньше я открывал файл размером до 3 гигабайт с помощью этого инструмента http://csved.sjfrancke.nl/
источник
Лично мне нравится UltraEdit . Вот их небольшой рассказ о больших файлах .
источник
Я использовал встроенный редактор / просмотрщик FAR Commander для сверхбольших файлов журналов.
источник
Я использовал TextPad для больших файлов журнала, у него нет верхнего предела.
источник
Единственное, что я смог использовать для чего-то подобного, - это мой любимый шестнадцатеричный редактор Mac, 0XED. Однако это было с файлами, которые я считал большими - десятки мегабайт. Я не уверен, как далеко это зайдет. Однако я почти уверен, что он загружает в память только части файла за раз.
источник
В прошлом я успешно использовал подход разделения / редактирования / объединения, когда файлы становились очень большими. Чтобы это работало, вы должны знать, где находится редактируемый текст в исходном файле.
источник