Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.
Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.
Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.
Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).
aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.
OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.
Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.
Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.
co ja viem....skor by som pouzil ten mv ako sed
D.
drobek:~$ touch abc-2013_12_23_34 drobek:~$ rename 's/[^a-z]+//' abc-2013_12_23_34 drobek:~$ ls | grep abc abcTento příkaz z názvu odstraní vše krom znaků a-z.
echo abc-2013_12_23_34 | sed 's/\(abc\).*/\1/'
sed to nie je, ale co na tom zalezi, ak to funguje a hlavne to tu uz mas v sed-e ukazane. :) A musim ale suhlasit s potato. Tu staci nastavit regexp, ak by nazov suborov nemal rovnaky format. Ale to zjavne staci nastavit rovnako pre kazdy v tejto diskusii uvedeny sposob. Skript moze mat zadanu cestu ako parameter alebo pouzije aktualny adresar, ak nie je zadany.
#!/bin/bash
shopt -s globstar
# bud sa zada cesta ako parameter, alebo sa jednoducho vezme aktualny adresar a
# posluzi ako koren adresarovej struktury pre hladananie
root_dir="${1:-"$PWD"}"
files=( "$root_dir"/** )
# regexp pre tvar: abc-xxxx_xx_xx_xx , kde kazde x je cislo
regexp='^(abc)-[1-9][0-9]{3}_[0-9]{2}_[0-9]{2}_[0-9]{2}'
for file in "${files[@]}"
do
[[ -f "$file" ]] && [[ "${file##*/}" =~ $regexp ]] && mv "$file" "${file%/*}"/"${BASH_REMATCH[1]}"
done
dik za tipy jinak, presne zadani je takove ze soubory budou mit vzdy stejny format nazev+datum, bude tam vice slozek, ktere se budou jmenovat stejne jako soubor. ja potrebuji aby nazvy slozek zustaly s datumem tzn. beze zmeny a u nazvu souboru se orizl/prejmenoval pouze nazev bez datumu viz obr
https://plus.google.com/photos/111035832773969554520/albums/5868468476734161601?banner=pwa
Pokud ta část, kterou potřebujete odříznout, nebude obsahovat další pomlčku, tak např.
for f in *; do test -f "$f" && mv -vi "$f" "${f%-*}"; done
Přepsání na find ... | while read f; do ... done si laskavý čtenář provede za cvičení. (Pro hnidopichy: ano, předpoklad, že soubory s linefeedem v názvu tam nejsou, nepovažuji za nijak přehnaný.)
ssh server.neco.cz 'root_dir=/home/skript/
files=( "$root_dir"/**/**/** )
regexp=`^(abc)-[1-9][0-9]{3}_[0-9]{2}_[0-9]{2}_[0-9]{2}_[0-9]{2}_[0-9]{2}`
for file in "${files[@]}"
do
[[ -f "$file" ]] && [[ "${file##*/}" =~ $regexp ]] && mv "$file" "${file%/*}"/"${BASH_REMATCH[1]}"
done' &
Titulek dotazu je poněkud zavádějící, protože sed se pro tento případ nehodí. Možná právě proto tu někteří vymýšlejí složité ptákoviny založené na sedu.
Tohle by mohlo fungovat.
for file in $(find -type f -name '*-*'); do mv "${file}" "${file%-*}"; done
Filtr -name '*-*' by tam být nemusel, pokud opravdu všechny soubory v celém adresářovém stromě obsahují pomlčku v názvu. Pokud ne, vyblilo by to bez -name pár chybových hlášek.
BTW, na síťovém souborovém systému s dlouhou latencí a s dobrým throughputem se někdy hodí dát před done místo středníku ampersand &.
Tiskni
Sdílej: