imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 11.12.2003, 06:18     # 1
PGM
Guest
 
Сообщения: n/a

Question ищу прогу для перестановки

Есть данные файл, файл большой текстовый 70 метров.
Задача Данные идут так:

1. строка. А, Б, В, Г, Д, Ж
2. строка. А, Б, В, Г, Д, Ж
3. строка. А, Б, В, Г, Д, Ж

и так 700 тыс. строк.

а надо сделать в такой последовательности :

1. строка Б, Г, В, Д
2. строка Б, Г, В, Д
3. строка Б, Г, В, Д

а А и Ж вообще удалить, даные везде разные поэтому просто найти и заменить на мой взгляд нельзя...

понимаю что задача наверно тривиальна, надеюсь что кто-нибудь даст дельный совет что делать...

заранее Спасибо!
 
Старый 11.12.2003, 07:49     # 2
AID
Guest
 
Сообщения: n/a

помоему такой проги нет
но я думаю что можно сделать все ето в Microsoft Access
импортирывать туда твою базу и работать с ней уже как тебе угодно

Последний раз редактировалось AID; 11.12.2003 в 07:51.
 
Старый 11.12.2003, 10:56     # 3
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Нужно обязательно прогу написать? А то можно просто открыть в любом текстовом редакторе и воспользоваться поиском с заменой.

З.Ы. Можно в принципе и прогу, основная проблема здесь заключается только в том, что файл слишком велик.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума  
Старый 11.12.2003, 11:53     # 4
YAS
::VIP::
 
Аватар для YAS
 
Регистрация: 18.01.2002
Адрес: Moscow
Сообщения: 1 919

YAS СэнсэйYAS СэнсэйYAS СэнсэйYAS СэнсэйYAS СэнсэйYAS СэнсэйYAS СэнсэйYAS СэнсэйYAS СэнсэйYAS СэнсэйYAS СэнсэйYAS СэнсэйYAS СэнсэйYAS Сэнсэй
Цитата:
PGM:
а А и Ж вообще удалить, даные везде разные
Если данные везде разные, то каков тогда алгоритм замены? Или нужна простая перестановка? В таком случае, проще всего написать прогу по перестановке!

А топ лучше обсуждать в "Программирование", а не "Программы" - перенес.
__________________
Бороться и искать, найти и перепрятать :-)
YAS вне форума  
Старый 11.12.2003, 12:02     # 5
c00ler
Full Member
 
Аватар для c00ler
 
Регистрация: 16.11.2002
Адрес: Питер
Сообщения: 1 162

c00ler Популярный человек на этом форумеc00ler Популярный человек на этом форумеc00ler Популярный человек на этом форумеc00ler Популярный человек на этом форумеc00ler Популярный человек на этом форумеc00ler Популярный человек на этом форумеc00ler Популярный человек на этом форуме
PGM
Берешь любой текстовый редактор с функций замены. Пишешь "Найти A и заменить на ""(Пусто). Также поступаешь и с Ж.
c00ler вне форума  
Старый 11.12.2003, 12:17     # 6
PGM
Guest
 
Сообщения: n/a

c00ler
не катит, А постояно разное (телефонные номера)
найти и заменить по звездочкам находит так же и Б В и др. данные..
 
Старый 11.12.2003, 12:20     # 7
c00ler
Full Member
 
Аватар для c00ler
 
Регистрация: 16.11.2002
Адрес: Питер
Сообщения: 1 162

c00ler Популярный человек на этом форумеc00ler Популярный человек на этом форумеc00ler Популярный человек на этом форумеc00ler Популярный человек на этом форумеc00ler Популярный человек на этом форумеc00ler Популярный человек на этом форумеc00ler Популярный человек на этом форуме
PGM
Ну если А всегда разное - то такое сделать автоматически низя - тока руками.
c00ler вне форума  
Старый 11.12.2003, 12:24     # 8
SapeR
::VIP::
 
Регистрация: 17.12.2002
Адрес: Q-ata, Israel
Сообщения: 310

SapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царстве
действительно легче написать самому
Код:
#include <stdio.h>

#define MAX_LEN 100

void main()
{
    FILE *f_inp = fopen("c:\\file1.txt","rt");
    FILE *f_out = fopen("c:\\file2.txt","wt");

    char s1[MAX_LEN+1], s2[MAX_LEN+1];
    int cycle_count = 0;

    if (f_inp!=0 && f_out!=0)
    {
        while( !feof(f_inp) )
        {
            switch (cycle_count)
            {
            case 0: // 'A' - ignore
                fgets(s1,MAX_LEN,f_inp);
                break;
            case 1: // 'B' - copy
                fgets(s1,MAX_LEN,f_inp);
                fputs(s1,f_out);
                break;
            case 2: // 'V' - read to S2
                fgets(s2,MAX_LEN,f_inp);
                break;
            case 3: // 'G' - copy + write S2
                fgets(s1,MAX_LEN,f_inp);
                fputs(s1,f_out);
                fputs(s2,f_out);
                break;
            case 4: // 'D' - copy
                fgets(s1,MAX_LEN,f_inp);
                fputs(s1,f_out);
                break;
            case 5: // 'E' - ignore
                break;
            default:
                // ???
                break;
            }
            cycle_count = (cycle_count+1)%6;
        }
    }
    fcloseall();
SapeR вне форума  
Старый 11.12.2003, 12:45     # 9
PGM
Guest
 
Сообщения: n/a

Всем Спасибо, сделал с Accessom
По совету AID , все получилось прикрутил к таблице переразбил, удалил и поменял
 
Старый 15.12.2003, 13:09     # 10
MTop
Guest
 
Сообщения: n/a

а вот на перле то же самое на Перле
$path="C:/";
open (file, $path."file.txt");
my @Report1 = <file>;
close (file);
chomp(@Report1);
open (file, ">".$path."otchot.txt");
foreach my $item1 ( @indata1 )
{
my @array1=split(/,/,$item1);
print file, @array1[0]," ",@array1[1]," ",@array1[3]," ",@array1[4]," ",@array1[5]," ",@array1[6],"\n";
}
close (file);

Последний раз редактировалось MTop; 15.12.2003 в 13:15.
 
Старый 16.12.2003, 14:04     # 11
someone312002
Junior Member
 
Регистрация: 17.12.2002
Адрес: [EST], Tallinn
Сообщения: 120

someone312002 Путь к славе только начался
Эх, если б можно было всё это обработать селектом... replace(source_string, search_what, replace_with) тебе бы помог...
__________________
"я не волшебник - я только учусь..." (c)
...а зовут меня Олег...
someone312002 вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 09:17.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.