Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.
Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.
Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).
Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.
Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.
Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.
Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 8.00. Přináší podporu nejnovějších procesorů Intel a AMD nebo také tmavý režim.
Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).
Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.
část 1 === před první tečkou (mimo tečku) část 2 === za první tečkou (mimo tečku) příklad VAR="214.je.cislo" # část 1 = 214 , část 2 = je.cislo VAR="34.je.taky.cislo" # část 1 = 34 , část 2 = je.taky.cisloPoradíte mi někdo? Děkuji
Řešení dotazu:
$ VAR="214.je.cislo" $ CAST1=`echo $VAR | cut -d . -f1` $ CAST2=`echo $VAR | cut -d . -f2-` $ echo $CAST1 214 $ echo $CAST2 je.cislo
A nebo interně rychleji jen:
>VAR="214.je.cislo"
>echo ${VAR%%\.*}
214
>echo ${VAR#*\.}
je.cislo
[[ $var == *.* ]]
Tenhle trik se občas hodí i pro jiné účely, např. test, zda proměnná začíná nebo končí určitým vzorkem:
if [ "${var#*.}" != "$var" ]; then ...
if [ "${var%.*}" != "$var" ]; then ...
Využívá se toho, že expanze s odříznutím začátku nebo konce zachová původní řetězec, pokud se nenajde žádný odpovídající začátek/konec.
Protože (podle mě) nejlepší řešení se substitucemi už tu bylo zmíněné několikrát (#, %, ##, %% oddělí {nejkratší,nejdelší}' '{prefix,suffix}, (definovaný jako glob nebo extglob)), vybliju sem teď ještě jedno naschvál hnusné (leč ilustrativní a k dobrodružné četbě manuálové stránky vybízející) řešení:
VAR='bla.ble.BLA.BLE'
IFS=. read -a TOKENS <<<"$VAR"
echo "${TOKENS[0]}"
(IFS=.; echo "${TOKENS[*]:1}";)
Tiskni
Sdílej: