Ну ОЧЕНЬ большой текстовый файл...

Larchik1

около 500 мегов. как его редактировать? точнее, чем?

yuda

Word?
Write? (WordPad)
Aditor?
UPDATE:
aditor отменяется

freedman

насчет ворда есть большие сомнения...

peter1dav

vi
nano

tolik1

far, vi, sed, dn?

oyuriyu

спокойно, дайте человеку word попробовать.

CapitanJack

фар отменяется.

freedman

ну ты садист

oyuriyu

садист тот кто предложил, я пособник.

spirtus

редактировал гиговые файлы UltraEdit-ом на машине с 128 метрами - вполне можно работать,
рекомендую.
брать
Там может не последняя версия, за последней к варезгигантам - \\ahtoh \\kirya

abrek

perl
или GNU textutils + sed + grep + vi
смотря что сделать нужно (ясно ведь, что не глазами просматривать и править)

yuda

Насчет отмены aditor'а я может и погорячился. Он мне чего-то делает уже дцать минут на 90% загрузки проца. Но ждать уже как-то ломает.

spirtus

> ясно ведь, что не глазами просматривать и править
откуда ясно ?
> или GNU textutils + sed + grep + vi
а если как раз нужно просмотреть и поправить ?
юниксоид - это болезнь все же, желание делать все под любимой осью убивает эффективность работы.

abrek

> откуда ясно ?
500M - это довольно много, около 100 толстых книг или вроде того
править такое - дело всей жизни
что-то я сомневаюсь, что мы имеем дело именно с таким случаем
> юниксоид - это болезнь все же, желание делать все под любимой осью убивает эффективность работы.
какие ещё у меня есть тайные желания?

Larchik1

под виндой...

Larchik1

спасибо, попробую

eee1

блин всякие Bill-ские проги не умеют работать с файлами большого размера

Larchik1

это точно. проверено!

abrek

> под виндой...
да
если важен именно Microsoft Way, то вместо perl - VB

gopnik1994

предполагается изменение длинны файла?
или просто заменить несколько байт?

Larchik1

что-нибудь удалить или наоборот вписать. исправить и тп. размер может и поменяться.

Ivan8209

DN не пройдёт.
vi, ed -- вряд ли.
sed -- пройдёт, но не интерактивен.
TECO -- пройдёт и интерактивен, но не визуален.
ee -- пройдёт и визуален, но утыкаешься в кнопочки (на клаве).
Вывод: TECO rulez во веки веков : )
---
Настоящие программисты используют такой редактор, чтобы...

sergey_m

Я редактировал vi файлы такого размера. Правда открывается долго.

Ivan8209

В том и проблема.
Я знаю, что joe тоже берёт оч. большие файлы.
Но ТАКИХ файлов я не редактировал, да и понятно, что будет долго работать.
Я бы взял "теко".

onairika

vi в память помойму сначало весь файл фигачит
зато потом искать быстро

abrek

Только что проверил, vim весь файл в память не грузит, работает вполне пристойно, открывает и сохраняет долго (копирует всё в свой .swp, а потом соотв. обратно)
Основное, что заметно: ряд операций на больших файлах работает, естественно, долго, и хрен поймёшь, сколько ещё ждать, пока операция не закончена.
В общем, даже если авторы универсального редактора текстов позабодились о возможности обработки больших файлов (ну не редактирование это, когда глазами сможешь просмотреть лишь очень небольшую часть! всё равно неприятно.

natali20

ИМХО, хранить такой объём данных в текстовом файле - само по себе подозрительная практика, если с ним предполагаеца делать что-то большее, чем поиск строки раз в год . То есть я не сомневаюсь, что столько текста можно нагенерить, но вот лучше его сразу / периодически перекладывать в какое-то другое место. Наверняка там просицца использование файлов специальной структуры, СУБД или ещё чего

abrek

> Наверняка там просицца использование файлов специальной структуры
Я просто уверен, что структура есть, только автор вопроса не реагирует на намёки об уточнении задачи, требует универсальный инструмент, да ещё и похожий на любимый молоток, в то время как требуется совсем не гвозди забивать.

onairika

Ето ты так думаешь что подозрительная практира.
Мне почти каждую неделю приходится иметь дело с файликами п несколько сот метров - и ничо нормально

Dasar

И что ты(или не ты) в них хранишь?

eee1

неа, практически есть, после индексирования всех фтп-серверов на локальке у меня получилось html файл 250МБ - ну тогда можно только все это переписать в sql

Larchik1

это огромный лог от winroute. нужно найти определенные строки и удалить их или заменить на другие. пользую сейчас ultra edit, написал в нем макрос. работает пока - комп не тормозит.

abrek

> нужно найти определенные строки и удалить их или заменить на другие
реально, то что я сразу назвал, именно для этого и придумано
> работает пока
и работает, и работает....
P.S. vim вчера команду :2000000,4000000d выполнял более получаса, на файле в 600Mбайт и 7000000 строк

Larchik1

нет-нет. большое спасибо Hell'у и всем, кто принял участие в обсуждении. все отично сработало (то, что мне нужно было). можно закрывать тему.

sergey_m

Многовато. У меня на 500Мб 1,$ ! grep выполнял около 5-6 минут.

abrek

маза это совсем разные операции
grep на простых выражениях по идее скоростью диска должен быть ограничен
с потреблением памяти в vim'е тоже всё непросто как-то, похоже там не собственно файл, но ест всё равно немало, в исходники лень лазить

sergey_m

Фактически 1,$ ! означает замену всех строк в файле. По идее это будет покруче чем просто удаление большого промежутка.
P.S. Я использую не vim, а nvi.

abrek

ну фиг знает тогда, мне надоело экспериментировать
это ведь от реализации зависит, насколько разработчик подумал о возможности обработки гигантских файлов
я бы предпочёл, чтобы при создании универсального редактора он бы думал о файлах обычных размеров, так как для гигабайтных логов есть другие средства
Оставить комментарий
Имя или ник:
Комментарий: