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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 0
včera 21:21 | Nová verze Ladislav Hagara | Komentářů: 0
včera 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

Ladislav Hagara | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 4
6.12. 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 27
6.12. 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 790 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 791×
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.