Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].
Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.
Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.
Byla vydána verze 1.94.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Zveřejněny byly výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2025 State of Rust Survey Results.
Google zveřejnil seznam 185 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 16. do 31. března. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů za velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.
Byla vydána únorová aktualizace aneb nová verze 1.110 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.
Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).
Konference LinuxDays 2026 proběhne o víkendu 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Čekají vás desítky přednášek, workshopy, stánky a setkání se spoustou chytrých lidí.
searchFolder="$1"
destinationFolder="$2"
if [ -d "$searchFolder" ] && [ -d "$destinationFolder" ] ; then
cd "$searchFolder"
for f in $(find $searchFolder -type f) ; do
echo -e " \e[31mProcessing: $f\e[39m"
if grep -q "KLICOVE SLOVO" "$f" ; then
echo -e "\e[32m Found: $f\e[39m"
echo "===========mv=============="
mkdir --parents "$(dirname "$destinationFolder${f/$searchFolder}")"
mv "$f" "$(dirname "$destinationFolder${f/$searchFolder}")"
fi
done
else
echo "Bad arguments"
fi
cd "$searchFolder" for f in $(find $searchFolder -type f) ; doTen mkdir by asi slo napsat jednoduseji:
mkdir --parents "$(dirname $destinationFolder/$f/$searchFolder)"Zase vystup $f u find je bez leading /, ale searchFolder muze byt s / nazacatku nebo bez a potom to bude problem. Takze toto nemusi uplne fungovat a to puvodni ma problem i u destinationFolder bez koncoveho /:
$destinationFolder/$f/$searchFolderPokud se nepletu tak tento grep bude fungovat na cely vystup find = celou cestu, ne jen na nazev souboru jako takovy, takze by to chtelo asi udelat jinak:
if grep -q "KLICOVE SLOVO" "$f" ; thenNo a konecne napriklad rsync by to cele mohl zvladnout s dobrym filtrem na jeden radek..
rsync --include [regexp] /A /B
cd je tam zbytecne (pozustatek ze starsi verze), oba dva argumenty budou zadavany jako plna cesta, script se bude volat pres ssh z GUI rozhrani. Z toho duvodu nebude potreba resit osetreni uzivatelskych vstupu na serveru, kde script pobezi, to udela obsluzny program u klienta.
Nemuzu pouzit rsync, protoze ten neumi soubory jen presunout (Kopirovani a nasledne mazani je nekolikanasobne pomalejsi). Pri presunuti je take potreba zachovat adresarovou strukturu.
Cilem je, aby byl script co nejrychlejsi (bude prochazet cca 10TB dat) a nemel problemy s diakritikou a nazvy souboru/slozek zacinajicich "--".
rg -wl 'slovo' .|parallel mkdir -p ../jine_umisteni/{//}\; mv -t ../jine_umisteni/{//} -- {}
ale při 10TB to bude vždycky pomalé.
Používá to ripgrep.
for f in $(find $searchFolder -type f) ; do ... donepoužít
find "$searchFolder" -type f -name "*.sh" -exec \
grep -l 'KLICOVE SLOVO' '{}' + |
while read f; do
echo -e "\e[32m Found: $f\e[39m"
destination="$(dirname "$destinationFolder${f/$searchFolder}")"
mkdir --parents "$destination"
mv "$f" "$destination"
done
searchFolder="$1"
destinationFolder="$2"
if [ -d "$searchFolder" ] && [ -d "$destinationFolder" ] ; then
find "$searchFolder" -type f -exec \
grep -l 'KLICOVE SLOVO' '{}' + |
while read f; do
echo -e "\e[32m Found: $f\e[39m"
destination="$(dirname "$destinationFolder${f/$searchFolder}")"
mkdir --parents "$destination"
mv "$f" "$destination"
done
else
echo "Bad arguments"
fi
Jen mi prijdou zvlastni ty uvozovky na radku 8:
destination="$(dirname "$destinationFolder${f/$searchFolder}")"
Neni potom v uvozovkach jen dirname a zavorka na konci?
$( přepíná kontext, takže dirname v uvozovkách není, ale za příslušnou ) už zase je - proto se musí na konci uvozovkou uzavřít.
mkdirstdin(){ while read f; do mkdir --parents -- "$1${f%/*}"; printf "%s\n%s\n" "$f" "$1${f%/*}"; done; }
find ./sourcedir -name "*.txt" -type f -exec grep -l 'najdivzor' {} \; | mkdirstdin /tmp/targetdir/ | xargs -P4 -L2 -d"\n" mv --
a zdá se že je to rychlejší, než zde uváděný skriptík. S ripgrep jsem to neporovnával (nemám zatím nainstalovaný rust).
find, grep za grep -r.
[wamba@wamba-X220 Dokumentujo]$ time rg -uul 'slovo' | wc -l
19
real 0m0,162s
user 0m0,254s
sys 0m0,276s
[wamba@wamba-X220 Dokumentujo]$ time find . -type f -exec grep -l 'slovo' {} \;|wc -l
19
real 0m55,467s
user 0m37,120s
sys 0m17,049s
[wamba@wamba-X220 Dokumentujo]$ time grep -rl 'slovo' |wc -l
19
real 0m0,512s
user 0m0,314s
sys 0m0,196s
grep -r je nepoužitelný, pokud nechceš prohledávat všechy soubory, např. chceš jen soubory s určitou příponou.
Také jsem si všiml, že jsi na konec příkazu find nedal +, ale \; , což je řádově pomalejší.
Tiskni
Sdílej: