Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.
Canonical oznámil, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie) v Ubuntu.
Tržní hodnota americké společnosti Alphabet, která je majitelem internetového vyhledávače Google, dnes poprvé překonala hranici tří bilionů dolarů (62,1 bilionu Kč). Alphabet se připojil k malé skupině společností, které tuto hranici pokořily. Jsou mezi nimi zatím americké firmy Nvidia, Microsoft a Apple.
Spojené státy a Čína dosáhly dohody ohledně pokračování populární čínské platformy pro sdílení krátkých videí TikTok v USA. V příspěvku na síti Truth Social to dnes naznačil americký prezident Donald Trump. Dosažení rámcové dohody o TikToku vzápětí oznámil americký ministr financí Scott Bessent, který v Madridu jedná s čínskými představiteli o vzájemných obchodních vztazích mezi USA a Čínou. Bessentova slova později potvrdila také čínská strana.
MKVToolNix, tj. sada nástrojů pro práci s formátem (medialnym kontajnerom) Matroska, byl vydán ve verzi 95.0. Podpora přehrávání formátu Matroska míří do Firefoxu [Bug 1422891, Technický popis]. Přehrávání lze již testovat ve Firefoxu Nightly.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.
Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si
… více »Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.
Správcovský tým repozitáře F-Droid pro Android sdílí doporučení, jak řešit žádosti o odstranění nelegálního obsahu. Základem je mít nastavené formální procesy, vyhrazenou e-mailovou adresu a být transparentní. Zdůrazňují také důležitost volby jurisdikce (F-Droid je v Nizozemsku).
Zdravim, mam takovy dotaz. Snazim se vyhledat z jedne slozky soubory a zkopirovat je do jine. A nasledne vypsat rozdil souboru techto slozek za nejaky cas. Chtel jsem pouzit prikaz diff, ale nevim jak presne vyuzit funkci find aby mi zobrazila jen soubory a ne cestu, jelikoz jedna slozka ve ktere to hledam ma x tisic slozek. Dekuji
jak presne vyuzit funkci find aby mi zobrazila jen soubory a ne cestuman find:
Mam za ukol vyhledat v slozce stable soubory obsahujici GPG klice a zkopiruju je do adresare dnesniho data. To udelam prikazem cp -ib `find stable -type f -name "*.gpg"` `date '+%Y-%m-%d-%H-%M'` a ted je problem, ze musim nejspis udelat cyklus protoze jsou zde ve slozce stable soubory ktere maji stejny nazev a ja je nechci prepsat. A chci vypsat ktere ty dva stejne soubory to jsou a kde jsou ulozeny. Tento prikaz to vypise find stable -name "*.gpg" -exec ls -l {} \; ale porad nevim jak presne udelat ten cyklus v kterym by to jelo a podminku abych vypsal jen ty duplikovany.
V tom cyklu jeste kazdy *.gpg soubor importuju do gpg klicenky. To by bylo vse v tom cyklu ktery nevim jak udelat.
Premyslel jsem forem, protoze si spocitam kolik GPG souboru jsem zkopiroval,ale nejsem si jist jak...
A potom porovnat obsah souboru *.gpg ve vytvorene slozce napr. 2009-06-03-20-30 a obsah souboru v nove vytvorene slozce dnesniho data. To bych asi udelal diffem. A rozdil vypsat.
--reply[=HOW] Using `--reply=yes' makes `cp' act as if `yes' were given as a response to every prompt about a destination file. That effectively cancels any preceding `--interactive' or `-i' option. Specify `--reply=no' to make `cp' act as if `no' were given as a response to every prompt about a destination file. Specify `--reply=query' to make `cp' prompt the user about each existing destination file.tj. "--reply=no" nebude nic přepisovat, případně
-u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing
find stable -name "*.gpg" > files find stable -name "*.gpg" | while read f; do filename=$(basename "$f") if grep -E ".*/$filename\$" files | grep -v "$f"; then echo "\\$f" fi done
grep -vE "^$f\$"
jedna slozka ve ktere to hledam ma x tisic slozekZ toho mi nic nezhasíná.
find original -name "*.gpg" -printf "%f\t%p\n" | sort -k1,1 -t" " | while IFS=" " read filename fullname; do [[ "$filename" == "$oldfilename" ]] && echo -e "$fullname\n>$oldfullname"; oldfilename="$filename"; oldfullname="$fullname"; done
awk
-om vypise subory s opakujucimi sa menami, kazdy prave raz.
Uvedene riesenie v bash
-i je zjednodusena verzia, vzdy vypise subor a k nemu nazov suboru ku ktoremu sa porovnava - teda ak su tri subory, tak celkovo vypise styri nazvy (v tvare druhy >prvy treti >prvy
).
oldfullname=""; find original -name "*.gpg" -printf "%f\t%p\n" | sort -k1,1 -t" " | while IFS=" " read filename fullname; do if [[ "$filename" == "$oldfilename" ]]; then echo -e "$oldfullname$fullname"; oldfullname=""; else oldfullname="$fullname\n"; fi; oldfilename="$filename"; done
oldfilename=""
, aby tam nahodou niekto nedal nazov prveho suboru IFS=" "
by mohlo byt pred while
, aby sa nemuselo nastavovat pre kazdy riadok, nie?
oldfilename="" oldfullname="" find original -name "*.gpg" -printf "%f/%p\0" | sort -k1,1 -t/ -z | xargs -n 1 --null echo | while IFS=/ read filename fullname; do if [[ "$filename" == "$oldfilename" ]]; then echo -e "$oldfullname$fullname"; oldfullname="" else oldfullname="$fullname\n" fi oldfilename="$filename" done
read
em :( Dneska nemám den :)
find | read
nějak řešit soubory s \n
v názvu. Připadá mi, že ne, ale zase přepisovat každý podobný problém do perlu jen aby byl obecně se mi také nelíbí :(
read
ma prepinac na zmenu delimitera. Akurat treba dat pozor, ze znak null znamena aj koniec riadku v bash-i, tak sa musi tam zapisat $
find ... -print0 | while read -d $'\0' file; do echo "---$file---"; done
-r
, kvoli spatnemu lomitku v nazvoch ... snad uz ten read zoberie vsetko mozne oldfilename="" oldfullname="" find original -name "*.gpg" -printf "%f/%p\0" | sort -k1,1 -t/ -z | while read -d $'\0' line; do filename=${line%%/*} fullname=${line#*/} if [[ "$filename" == "$oldfilename" ]]; then echo -e "$oldfullname\"$fullname\""; oldfullname="" else oldfullname="\"$fullname\"\n" fi oldfilename="$filename" done
Riesenie v O(NlogN) pomocou sort a awk-u fungujuce ak v nazvoch suborov nie je tabulator ani znak konca riadku
find -name "*.gpg" -printf "%f\t%p\n"|sort -k1,1 -t" "|awk 'NR == 1{fn=$1;f=$2;b=0} NR>1 {if ($1 == fn) {if (b == 0) {print f};print $2; b=0} else {b=0};fn=$1;f=$2}'
Pozn: v prikaze sort za prepinacom -t je zadany tabulator v uvodzovkach ( CTRL-V
, TAB
)
Tiskni
Sdílej: