Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программное обеспечение > сокращение размеров файла


Автор: DENNN 3.10.2003, 14:00
Ситуация: WinRoute нагенерил лог-файл на 150 метров. Хотелось бы оставить данные только за последний месяц - это где-то 15% от всего файла. Причем строки расположены в строго хронологическом порядке.
Может кто-нибудь посоветовать прогу, способную убрать из лога лишние даты, или хотя-бы убрать первые 70% тестового файла? Или может есть какой-то другой способ, а то я сам что-то торможу. sad.gif

Автор: DENNN 3.10.2003, 14:02
P.S. Я бы и в тескстовом редакторе вытер, но ворд, длокнот и т.п. при открытии пытаются "проглотить" весь файл. А у меня нет возможности ждать весь день smile.gif
Хотелось бы зашедулить на запуск раз в месяц какой-нибудь exe.

Автор: Monty 3.10.2003, 15:23
Лень писать программу, но это легко! smile.gif ..... Я вообще щас обленился smile.gif ........ возми WinHex wink.gif

PS а может накать за несколько минут? smile.gif

Автор: &-ray 4.10.2003, 19:50
А какая структура файла?
там есть какой-либо заголовок, или просто происходит запись типа:

дата1
описание1
дата2
описание2
и т.д.

Если заголовка нет, то просто отруби файл обычной програмкой для разделения файлов (если лог дописывается в конец, то отруби первую часть, если вначало - последнюю часть)
Если есть заголовок, то можно "вырезать" ненужную часть файла

Автор: DENNN 7.10.2003, 19:08
Цитата
или просто происходит запись типа:

дата1 описание1 дата2 описание2 и т.д.

Да, причем в одну строку.
Цитата
для разделения файлов

Вот я и незнаю такой программки smile.gif

Автор: &-ray 7.10.2003, 20:38
Немного саморекламы smile.gif
На моем сайте есть прога http://amalishev.nm.ru/programs/divider.htm, вот ей и разложи тот лог на отдельные куски, только сразу скажу, что эта версия не сумеет выделить из файла фрагменты большого размера, так что дели на фрагменты по несколько сотен килобайт.
Потом посмотри в обычном редакторе отдельные куски лога (word неплохо открывает файлы размером по несколько метров) и "вычисли", какой кусок лога тебе надо удалить. Оставшиеся фрагменты файла обратно слепи в один и все smile.gif
PS Если будешь удалять первую часть файла, то оставшиеся куски можно быстро собрать, если воспользуешься прогой http://amalishev.nm.ru/programs/renamer.htm (переименуй все фрагменты по маске типа myfile.000)
Далее из контекстного меню проводника файла myfile.000 выбери пункт "Склеить быстро"

Автор: Monty 9.10.2003, 12:06
&-ray может тебе составить конкуренцию? smile.gif)) ....... ведь можно быстро набросать программу которая будет копировать весь файл с определенной позиции wink.gif

Автор: &-ray 9.10.2003, 19:17
Можно. Только для обычного юзера эта примочка ничего не даст.
Я сейчас скоро вторую версию хочу опубликовать, чтобы работала с большими фрагментами. Может и эту возможность там реализую wink.gif

Автор: Monty 9.10.2003, 20:52
Цитата
Можно. Только для обычного юзера эта примочка ничего не даст.
Я сейчас скоро вторую версию хочу опубликовать, чтобы работала с большими фрагментами. Может и эту возможность там реализую wink.gif

Ты еще реализуй работу в БАТ режиме wink.gif ..... будет удобно smile.gif ........ DENNN'у например smile.gif

Автор: Dexter 9.10.2003, 21:20
Берем тотал комадер бьем файл на части (~10 Mb) одну оставляем остальные удаляем.

Автор: &-ray 10.10.2003, 19:26
Что-то DENNN'а не видно, справился с проблемой то?
Хочется услышать отзывы о своей проге smile.gif

Автор: DENNN 10.10.2003, 19:58
Извини, работы столько что добраться не успеваю. smile.gif

Автор: &-ray 11.10.2003, 15:36
Я там писал, что фрагменты следует делать по несколько сотен Кб, вообще-то это напрямую зависит от конфигурации компа, так что, если у тебя много оперативки, то прога "схавает" и фрагменты бОльшего размера (несколько метров)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)