abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:33 | Nová verze

    Byla vydána nová verze 9.13 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.22.0, tj. první z nové řady 3.22, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    30.5. 00:33 | IT novinky

    FEL ČVUT vyvinula robotickou stavebnici pro mladé programátory. Stavebnice Brian byla navržená speciálně pro potřeby populární Robosoutěže. Jde ale také o samostatný produkt, který si může koupit každý fanoušek robotiky a programování od 10 let, ideální je i pro střední školy jako výuková pomůcka. Jádro stavebnice tvoří programovatelná řídicí jednotka, kterou vyvinul tým z FEL ČVUT ve spolupráci s průmyslovými partnery. Stavebnici

    … více »
    Ladislav Hagara | Komentářů: 41
    29.5. 20:33 | Komunita

    Ubuntu bude pro testování nových verzí vydávat měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 25.10 (Questing Quokka).

    Ladislav Hagara | Komentářů: 0
    29.5. 14:55 | Nová verze

    Společnost Netgate oznámila vydání nové verze 2.8.0 open source firewallové, routovací a VPN platformy pfSense (Wikipedie) postavené na FreeBSD. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    29.5. 14:00 | Nová verze

    Byla vydána nová verze 6.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 14.5.3. Linux na verzi 6.1.140. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    29.5. 12:33 | Zajímavý článek

    Člověk odsouzený za obchod s drogami daroval letos ministerstvu spravedlnosti 468 kusů kryptoměny bitcoin, které pak resort v aukcích prodal za skoro miliardu korun. Darováním se zabývá policejní Národní centrála proti organizovanému zločinu (NCOZ). Deníku N to potvrdil přímo ministr spravedlnosti Pavel Blažek (ODS). Podle resortu bylo nicméně vše v souladu s právem.

    Ladislav Hagara | Komentářů: 58
    28.5. 20:44 | Nová verze

    Svobodný a otevřený multiplatformní editor EPUB souborů Sigil (Wikipedie, GitHub) byl vydán ve verzi 2.5.0. Stejně tak doprovodný vizuální EPUB XHTML editor PageEdit (GitHub).

    Ladislav Hagara | Komentářů: 0
    28.5. 12:22 | IT novinky

    Na základě národního atribučního procesu vláda České republiky označila Čínskou lidovou republiku za zodpovědnou za škodlivou kybernetickou kampaň proti jedné z neutajovaných komunikačních sítí Ministerstva zahraničních věcí ČR. Tato škodlivá aktivita, která trvala od roku 2022 a zasáhla instituci zařazenou na seznam české kritické infrastruktury, byla provedena kyberšpionážní skupinou APT31, veřejně spojovanou se zpravodajskou službou Ministerstvo státní bezpečnosti (MSS).

    Ladislav Hagara | Komentářů: 52
    Jaký je váš oblíbený skriptovací jazyk?
     (56%)
     (31%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 169 hlasů
     Komentářů: 13, poslední 30.5. 12:26
    Rozcestník

    Dotaz: Nacteni a parsovani souboru (PHP nebo PERL)

    11.8.2005 18:55 tom84 | skóre: 6
    Nacteni a parsovani souboru (PHP nebo PERL)
    Přečteno: 989×
    Dobry den, mam takovy malinky problemek. Potrebuju nacist soubor a ten pak naparsovat na casti a ty nakonec je ulozit do DB. Zatim to mam pro testovani udelane v PHP ale problem je ze soubory pak budou treba az 10MB velike nechce se mi menit max velikost pameti pro PHP. Mohl bych to vyresit pomoci perlu, ale to taky neni zas tak elegantni protoze budu mit pak 10MB pole.

    Kdyby nekoho napadlo jak to nacitat tak, aby se nevytvarelo tak velke pole a jamohl ty prizpevky rozparsovat budu rad :)

    Vsem diky za napady. S pozdravem Tomas Werschall

    Zatim posilam kod ktery mam.
    $posts= preg_split('/From (.+) na (.+) (Mon|Tue|Wed|Thu|Fri|Sat|Sun) (.{3}) (.{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})/', implode(file('test.txt')), -1, PREG_SPLIT_NO_EMPTY);
    
    while(list($key,$value)= each($posts)){
     $post_split= preg_split('/Message-ID: (.+)/',$value);
     $head= $post_split[0];
     $message_text= $post_split[1];
     preg_match('/From: (.+) na (.+) \((.+)\)/',$head,$from);
     preg_match('/Subject: (.+)/',$head,$message_subject);
    
     $post= $from[0]."\n".$message_subject[0]."\n\n".trim($message_text)."\n";
     echo "$key\n<br>".nl2br(htmlspecialchars($post))."<br>\n<hr>\n";
    }
    
    "One World, One web, One program" - Microsoft Promo "Ein Volk, Ein Reich, Ein Fuhrer" - Adolf Hitler

    Odpovědi

    11.8.2005 19:11 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Mohl bych se pokusit pochopit co ten kód dělá, ale jaksi ... Co takhle říct co má být výsledkem místo kódu a třeba vám i někdo odpoví. Doporučuji začít třeba návodem E. S. Raymonda.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    11.8.2005 20:32 tom84 | skóre: 6
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Ale v prispevku je napsano co kod dela. viz:
    Potrebuju nacist soubor a ten pak naparsovat na casti
    Nic vic, nic min to nedela. Ja jsem jen potreboval ten kod vylepsit aby byl efektivnejsi
    "One World, One web, One program" - Microsoft Promo "Ein Volk, Ein Reich, Ein Fuhrer" - Adolf Hitler
    12.8.2005 08:30 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Mezi parsováním a parsováním může být dost podstatný rozdíl. Ten hlavní rozdíl je v tom, jestli to jde udělat on stream, nebo ne. Takže kus kódu který něco dělá on block mi bez hodně důkladného studia neřekne, jestli se to dá dělat on stream. Takže vstup by jsme konečně měli odkázaný v jiném příspěvku a teď jak má vypadat výstup?
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    12.8.2005 11:10 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Tkový hrubý nástin jak to udělat v Perlu
    #!/usr/bin/env perl
    
    use strict;
    use warnings;
    
    my $msg={};
    my $header='';
    my $firstFrom = qr(^From (.+) na (.+) (Mon|Tue|Wed|Thu|Fri|Sat|Sun) (.{3}) (.{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})$);
    my $headerLine = qr(^\S+:);
    sub ParseHeader {
    	my @headerLines = split m($/), $_[0];
    	my $ret = {};
    	@$ret{qw(usr site dayOfWeek month day hour min sec year)} =
    		shift(@headerLines) =~ /$firstFrom/;
    	foreach my $line (@headerLines) {
    		# tady si udelej co chces se zbytkem hlavicky a nacpi do $ret 
    	}
    	return $ret;
    }
    
    sub PrintMsg {
    	my $msg = shift;
    	return unless ref $msg eq 'HASH' and %$msg;
    	use Data::Dumper;
    	print Data::Dumper->Dump([$msg],['msg']);
    }
    
    while (<>) {
    	chomp;
    	?$firstFrom?o and $header = $_ and next;
    	if ($header) {
    		/$headerLine/o and $header .= "$/$_" and next;
    		if (/^\s*$/) {
    			PrintMsg ($msg);	# end of header - print msg
    			$msg = ParseHeader($header);
    			$header = '';
    			reset;
    			next;
    		}
    		# falesna hlavicka
    		$msg->{content} .= "$/" . $header;
    		$header = '';
    		next;
    	}
    	%$msg and $msg->{content} .= "$_$/" and next;
    	/\S/ and die 'Header not found';
    }
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    12.8.2005 11:55 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Protože jsem zapoměl na tisk poslední zprávy a taky nemám moc rád výceřádkové řetězce, tak trochu vylepšená podoba
    #!/usr/bin/env perl
    
    use strict;
    use warnings;
    
    my $msg={};
    my @header;
    my $firstFrom = qr(^From (.+) na (.+) (Mon|Tue|Wed|Thu|Fri|Sat|Sun) (.{3}) (.{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})$);
    my $headerLine = qr(^\S+:);
    sub ParseHeader {
    	my $ret = {};
    	@$ret{qw(usr site dayOfWeek month day hour min sec year)} =
    		shift() =~ /$firstFrom/;
    	foreach my $line (@_) {
    		# tady si udelej co chces se zbytkem hlavicky a nacpi do $ret 
    	}
    	return $ret;
    }
    
    sub PrintMsg {
    	my $msg = shift;
    	return unless ref $msg eq 'HASH' and %$msg;
    	use Data::Dumper;
    	shift @{$msg->{content}} while $msg->{content}[0] =~ /^\s*$/;
    	pop @{$msg->{content}} while $msg->{content}[$#{$msg->{content}}] =~ /^\s*$/;
    	print Data::Dumper->Dump([$msg],['msg']);
    }
    
    while (<>) {
    	chomp;
    	?$firstFrom?o and push @header, $_ and next;
    	if (@header) {
    		/$headerLine/o and push @header, $_ and next;
    		if (/^\s*$/) {
    			PrintMsg ($msg);	# end of header - print msg
    			$msg = ParseHeader(@header);
    			@header = ();
    			reset;
    			next;
    		}
    		# falesna hlavicka
    		push @{$msg->{content}}, @header;
    		@header = ();
    		next;
    	}
    	%$msg and push @{$msg->{content}}, $_ and next;
    	/\S/ and die 'Header not found';
    }
    PrintMsg($msg);
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    11.8.2005 19:26 Jarek Šeděnka
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Spise nez prepis do Perlu by tomu pomohlo postupne nacitani souboru, misto file('soubor') dat fopen('soubor','r') a cist to postupne.

    Btw. 10MB vubec nic neni, pokud velikost nepujde do stovek tak bych to nechal tak jak to je :-)
    11.8.2005 19:46 tomas84 | skóre: 30
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Tak tak, já bych načítal soubor řádek po řádku.
    11.8.2005 20:29 tom84 | skóre: 6
    Rozbalit Rozbalit vše Re: Nacteni a parsovani souboru (PHP nebo PERL)
    Ano to me take napadlo, ale kdyz budu soubor nacitat cely tak se to bude dobre rozdelovat pomoci regularnich vyrazu na jednotlive bloky. Jedna se totiz o archiv jedne mailove konference a ja si k ni chci udelat webove rohrani. Jak jsou zpravy ulozeny si muzete prohlednout zde. http://bobrshub.no-ip.org/test.txt

    Ja tedy potrebuji soubor rozdelit na jednotlive prispevky a ty pak vlozit do DB aby se s tim dalo lepe pracovat. Ale asi nakonec to stejne budu muset nacitat po radku. Pac nikdy nevim jak bude soubor veliky a zda bych pak mel tolik pameti na pole. Ale jen jsem chtel zda by nekoho nenapadlo lepsi napad jak to resit.

    Dekuji vsem za namety. S pozdravem Tomas Werschall.
    "One World, One web, One program" - Microsoft Promo "Ein Volk, Ein Reich, Ein Fuhrer" - Adolf Hitler

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.