Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.
Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.
Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.
Specialisté společnosti ESET zaznamenali útočnou kampaň, která cílí na uživatele a uživatelky v Česku a na Slovensku. Útočníci po telefonu zmanipulují oběť ke stažení falešné aplikace údajně od České národní banky (ČNB) nebo Národní banky Slovenska (NBS), přiložení platební karty k telefonu a zadání PINu. Malware poté v reálném čase přenese data z karty útočníkovi, který je bezkontaktně zneužije u bankomatu nebo na platebním terminálu.
V Ubuntu 25.10 byl balíček základních nástrojů gnu-coreutils nahrazen balíčkem rust-coreutils se základními nástroji přepsanými do Rustu. Ukázalo se, že nový "date" znefunkčnil automatickou aktualizaci. Pro obnovu je nutno balíček rust-coreutils manuálně aktualizovat.
VST 3 je nově pod licencí MIT. S verzí 3.8.0 proběhlo přelicencování zdrojových kódů z licencí "Proprietary Steinberg VST3 License" a "General Public License (GPL) Version 3". VST (Virtual Studio Technology, Wikipedie) je softwarové rozhraní pro komunikaci mezi hostitelským programem a zásuvnými moduly (pluginy), kde tyto moduly slouží ke generování a úpravě digitálního audio signálu.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.10. Podrobný přehled novinek v poznámkách k vydání.
V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).
Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.
Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.
Řešení dotazu:
$file = "stat1.txt";
$nick = "nick xx";
open (FILE, "<$file") or die "Can't open $file: $!\n";
@lines = <FILE>;
close FILE;
open (STDOUT, ">$file") or die "Can't open $file: $!\n";
foreach $line ( @lines ) {
print $line unless /$nick/;
}
close STDOUT;
Tu to maaas:
use strict;
my $file = "aaa"; # zazov suboru
my $nick = "nick xx"; # nick na vymazanie
my @lines;
open (FILE, "<$file") or die "Can't open $file: $!\n";
while(<FILE>) { push @lines,$_; }
close FILE;
open (STDOUT, ">$file") or die "Can't open $file: $!\n";
for my $line ( @lines ) {
print STDOUT $line unless($line =~ /$nick/);
}
close STDOUT;
btw. tvoj kod je v podstate cely spravne
Su tam 'len' 2 chyby na jednom riadku:
print $line unless /$nick/;spravne to mas mat:
print STDOUT $line unless($line =~ /$nick/);
btw. Ten kod je v podstate správně až na tu podmínku - někde mi to uteklo při editaci a zbyl mi tam jen "pahýl" ... nicméně ještě tam musí být (alespoň podle té struktury stat1.txt dle tazatele) ten $nick "orámovaný", aby to nebralo násobné výskyty řetězce nebo části jiných (nick 1 vs. nick 10, nick 11 atd.)
PS: Nehledě na to, že to celé jde napsat ještě PERLověji
unless ($line =~ /^$nick$/) jinak by to bralo pro nick1 i řádky nick10, nick11 atd. Takže správně takto:
#!/usr/bin/perl
$file = "stat1.txt";
$nick = "nick 1";
open (FILE, "<$file") or die "Can't open $file: $!\n";
@lines = <FILE>;
close FILE;
open (STDOUT, ">$file") or die "Can't open $file: $!\n";
foreach $line ( @lines ) {
print $line unless ($line =~ /^$nick$/);
}
close STDOUT;
$file = "stat1.txt"; $nick = "nick 1"; open (INFILE, "<$file") or die "Can't open $file: $!\n"; open (OUTFILE, ">$file.new") or die "Can't open $file.new: $!\n"; print OUTFILE grep $line !~ /^$nick$/, <INFILE>; close INFILE; close OUTFILE; unlink "$file"; rename "$file.new", "$file";
:
$file = "stat1.txt";
$nick = "nick 1";
open(STDOUT, ">${file}.part");
open(STDIN, "<$file");
print for grep !/^$nick$/, <>;
rename("${file}.part",$file);
#!/usr/bin/perl
$^I = "~";
$nick = "nick 6";
while (<>) {
print unless /^$nick$/;
}
To pak staci i
#!/usr/bin/perl
$nick = "nick 6";
print grep {!/^$nick$/} <>;
#!/usr/bin/perl -n
BEGIN { $nick = pop };
/^$nick\b/ || print;
Smekám! Miluju PERL ... akorát ho furt používám tak nePERLovsky, až se stydím
A co takhle?
perl -e '$n=pop;print grep{!/^$n\b/}<>' data.txt nick6
Tiskni
Sdílej: