KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na
… více »Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.
if [ -f $file -a ... ];thenJakým způsobem by to šlo udělat? Díky
if [ -f $file -a `grep -c '#poznamka' $file` -gt 0 ]; then
echo "je tam";
fi
Zdravim,
existancia daneho suboru este nie je dovod na radost. Je treba vediet, ci su garantovane prava pre citane, kedze ho budeme citat. Napr. takto:
if [[ -r "${file}" && "$(grep '#poznamka' "${file}")" ]]; then echo 'je tam'; fi
Grep totizto vracia exit status s hodnotou jedna (neuspech), ak sa dany pattern nenajde.
Slo by to ale aj inak, ak vyuzijeme predchadzajucu moju poznamku:
if grep '#poznamka' "${file}" 2>/dev/null; then echo 'je tam'; fi
Ak subor existuje, je citatelny a nachadza sa tam dany pattern, tak sa vypise 'je tam'. Ak bude niektora z podmienok nesplnena, tak prinajhorsom hodi chybu, ale tie sa nam nezobrazia, lebo vsetky chyby su presmerovane do /dev/null .
Dakujem za tip. ;)
Druhy priklad je u mna zle, bo presmerovava len chyby do /dev/null. Takze bud takto:
if grep '#poznamka' "${file}" &>/dev/null; then echo 'je tam'; fi
alebo takto, ako mi bolo poradene:
if grep -qs '#poznamka' "${file}"; then echo 'je tam'; fi
if [ -f $file -a `grep -c '#poznamka' $file` -gt 0 ]špatně, protože pokud soubor nebude čitelný (-r), tak grep nevypíše žádné číslo, a budete mít syntax mišmaš.
if [ -r $file -a `grep -c '#poznamka' $file` -gt 0 ]to už by mělo fungovat, ale je to moc komplikované
if [[ `grep -c '#poznamka' $file` -gt 0 ]]tohle už by mělo zvládnout i nečitelnost souboru, ale je možné že autor [[ nechce Ideální řešení je podle mne to nejjednodušší:
if grep '#poznamka' &>/dev/null; thenPokud se grepu nepodaří objevit poznámku v souboru (ať už z jakéhokoliv důvodu), vrátí hodnotu interpretovanou jako false, jinak true.
Tiskni
Sdílej: