Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.
Neziskové průmyslové konsorcium Khronos Group vydalo verzi 3.1 specifikace OpenCL (Open Computing Language). OpenCL je průmyslový standard pro paralelní programování heterogenních počítačových systémů.
Homebridge pro integraci chytrých domácích zařízení byl vydán ve verzi 2.0.0. Nově vedle protokolu HomeKit Accessory Protocol (HAP) podporuje standard chytré domácnosti Matter.
Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 3.7.0 - The Gaming Edition. Z novinek lze vypíchnout příkaz omarchy a celou řadu herních možností.
CyberChef byl vydán v nové major verzi 11. Přehled novinek v Changelogu. CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag).
Byla vydána nová verze 2.4.67 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 11 zranitelností.
Brush (Bo(u)rn(e) RUsty SHell) je v Rustu napsaný shell kompatibilní s Bash (Bourne Again SHell). Vydána byla verze 0.4.0.
Google zveřejnil seznam 1 141 projektů (vývojářů) od 184 organizací přijatých do letošního, již dvaadvacátého, Google Summer of Code. Přihlášeno bylo celkově 23 371 projektů od 15 245 vývojářů ze 131 zemí.
Na čem pracovali vývojáři GNOME a KDE Plasma minulý týden? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Open source počítačová hra na hrdiny NetHack (Wikipedie, GitHub) byla vydána v nové verzi 5.0.0. První verze této hry byla vydána v roce 1987.
find -name xxx -exec mv {} yyy\; jste zkousel?
deb http://ftp.cz.debian.org/debian jessie main contrib non-freels -1 | while read FILE ; do NEWFILE=$(echo $FILE | sed -e 's/\(.*\);1/\1/g') ; mv $FILE $NEWFILE ; doneNeresi to stavy kdy by byly dva soubory velmi podobneho jmena v jednom adresari atd. Mimochodem, co to ma spolecneho s rekurzi?
Jirka Vejrazka
#!/usr/bin/env bash
var=`find /prohledavany/adresar -name '*\;1' -print`
for i in "$var"; do
mv "$i" ${i%;1}
done
;1 zakončené i adresáře. Zkusil bych něco jako:
files=`find . -name '*\;1' -print | sed 's/\n/\ /g'`
for i in $files; do
mv "$i" "`echo "$i" |sed "s/;1//g"`";
done
Jde o to, ze takhle se jmena vsech souboru nacpou do promenne var a ta se pak zpracovava. Pokud se to pusti na adresare s desetitisici soubory, tak to muze zhavarovat. Lepsi je to delat primo pres volby findu -exec nebo -execdir.
V tomto pripade to bude celkem jedno, ale podobne nevhodne koncipovanych skriptu je zde prezentovana cela rada. Chtelo by to ukazkovy priklad, at lidi vidi, jak se to ma delat.
(A proc to nenapisu sam? Protoze mam hlad a jdu domu ...)
find /adresar -type f -exec bash -c 'mv "$0" "${0%;1}"' '{}' \;
Vysvetleni: Find pres volbu -exec spusti bash a preda mu 3 parametry: (1) -c, (2) mv "$0" "${0%;1}" a (3) jmeno souboru. Bash podle volby -c pozna, ze ma argument (2) interpretovat jako seznam prikazu. Argument (3) vlozi Bash do promenne $0. Seznam prikazu (argument (2)) pak uz jen pouzije promennou $0.
Pokud tam vidite nejakou chybu, tak to opravte. Normalni lidi pouzivaji neco jako
find /adresar -type f -exec ./prejmenuj '{}' \;
kde prejmenuj je napr.
#!/bin/bash
mv "$1" "${1%;1}"
ale me to po tech zhavych psech nedalo, a ten skript jsem vecpal do jednoho radku.
find /adresar -type f -exec bash -c 'echo mv _"$0"_ _"${0%;1}"_' '{}' \;
(Podtrzitka jsou tam proto, aby bylo videt, kde zacinaji a konci jednotlive argumenty.) Tyhle "zhustene" prikazy sice vypadaji cool, ale pokud se clovek splete, tak muze natropit hodne skody.
Tiskni
Sdílej: