PDA

Просмотр полной версии : Rabota s *.txt


GreenBear
07.12.2005, 11:22
Dano: mnogo faylov *.txt (po neskol'ko mb kajdiy)
Cel': ob'edenit' ves' text v odnom fayle
Reshenie: kak?
P.S. Nuzhna imenno porgramma, a ne script

RevenAnt
07.12.2005, 13:03
union.pl

#!/usr/bin/perl -w

opendir(DIR, ".");
@files = grep(/\.txt$/,readdir(DIR));
closedir(DIR);

open(F,'>done.txt');

foreach $file ( @files ) {
open(A,$file);
@a=<A>;
close(A);
print F @a;
print F "\n";
}
close(F);
print "Done.\n";

далее (чуток материться :rolleyes: )

$ perlcc -o union union.pl
pcc7Uag4.c: In function `perl_init_aaaa':
pcc7Uag4.c:1051: warning: this decimal constant is unsigned only in ISO C90
Info: resolving _PL_ppaddr by linking to __imp__PL_ppaddr (auto-import)
Info: resolving _MallocCfg_ptr by linking to __imp__MallocCfg_ptr (auto-import)

программа (хоть и из скрипта) готова :)
теперь проверка

$ ./union
Done.

a1.txt

First

a2.txt

Something Else

done.txt

First
Something Else



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

censored!
07.12.2005, 13:22
Raptor III
Тут (1.7 MB): http://madmax.deny.de/downloads/raptor.zip
Правда она заточена для работы со словарями, но и так текстовые файлы ворочать умеет. Для слива все в один - тебе как раз и подойдет.

GreenBear
07.12.2005, 13:55
ravenant, na php sdelat' 1 minuta i 15 strok, no nuzhno imenno .exe

censored!, spasibo =))

[500mhz]
07.12.2005, 14:02
вот вы гоните )))
copy *.txt big.txt /y

GreenBear
07.12.2005, 14:05
kogda 1 fail horosho, a kogda 2 sotni? =))
i tem bolee eta komanda ne ob'edenyaet =)) esli tak, to prosto zamenaca budut

[500mhz]
07.12.2005, 14:18
Борис! ты не прав!
она как раз обьеденит (проверь)

GreenBear
07.12.2005, 14:24
D:\>copy D:\passwords\BACTERIA.TXT D:\test.txt /y
Скопировано файлов: 1.

D:\>copy D:\passwords\2DIGIT.TXT D:\test.txt /y
Скопировано файлов: 1.
v fayle text.txt tol'ko 2digit =))
tak 4to vot

Deem3n®
07.12.2005, 15:38
Копируешь все твои .txt файлы в C:\copy\
Потом:

C:\copy>copy 1.txt 2.txt 3.txt all.txt
1.txt
2.txt
3.txt
1 file(s) copied.

или

C:\copy>copy *.* all.txt
1.txt
2.txt
3.txt
1 file(s) copied.

GreenBear
07.12.2005, 16:13
:mad:
даже не знал что так возможно -))

[500mhz]
07.12.2005, 17:17
ну а я про че? )))

RevenAnt
07.12.2005, 17:46
na php sdelat' 1 minuta i 15 strok, no nuzhno imenno .exe
ну так в результате получился именно .ехе (на CygWin'e)... т.к. perlcc делает .ехе из пёрловского скрипта ...
ну да ладна .... шо знал - написал .... сорри если всёже не то ....