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í
×
    dnes 04:44 | Nová verze

    Byla vydána nová stabilní verze 3.24.0, tj. první z nové řady 3.24, 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
    dnes 03:33 | Komunita

    Na čem pracují vývojáři v Rustu napsaného mikrokernelového unixového operačního systému Redox OS (Wikipedie)? Byl publikován přehled vývoje za květen. Vypíchnout lze nový scheduler EEVDF nebo port desktopového prostředí Xfce na Redox OS.

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

    Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Komunita

    Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 0
    včera 13:11 | Nová verze

    Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.

    Petr Krčmář | Komentářů: 2
    včera 04:44 | Nová verze

    Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.

    Ladislav Hagara | Komentářů: 2
    8.6. 22:44 | IT novinky

    Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.

    Ladislav Hagara | Komentářů: 0
    8.6. 22:22 | Nová verze

    Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).

    Ladislav Hagara | Komentářů: 0
    8.6. 20:44 | Nová verze

    aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1857 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 1084×
    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.