Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.
Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.
Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.
Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
Wine bylo po roce vývoje od vydání verze 10.0 vydáno v nové stabilní verzi 11.0. Přehled novinek na GitLabu. Vypíchnuta je podpora NTSYNC a dokončení architektury WoW64.
Byl vydán Mozilla Firefox 147.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Firefox nově podporuje Freedesktop.org XDG Base Directory Specification. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 147 bude brzy k dispozici také na Flathubu a Snapcraftu.
Asociace repair.org udělila anticeny těm nejhorším produktům představeným na veletrhu CES 2026. Oceněnými jsou například šmírující kamery Amazon Ring AI, chytrý běžecký pás od společnosti Merach, která otevřeně přiznává, že nedokáže zabezpečit osobní data uživatelů, případně jednorázové lízátko, které rozvibrovává čelisti uživatele a tak přehrává hudbu. Absolutním vítězem je lednička od Samsungu, která zobrazuje reklamy a kterou lze otevřít pouze hlasovým příkazem přes cloudovou službu.
Íránští protirežimní aktivisté si všímají 30% až 80% ztráty packetů při komunikaci se satelity služby Starlink. Mohlo by se jednat o vedlejší důsledek rušení GPS, kterou pozemní přijímače Starlinku používají k výpočtu polohy satelitů a kterou se režim rovněž snaží blokovat, podle bezpečnostního experta a iranisty Amira Rashidiho je ale pravděpodobnější příčinou terestrické rušení přímo satelitní komunikace Starlinku podobnou
… více »Evropská komise (EK) zvažuje, že zařadí komunikační službu WhatsApp americké společnosti Meta mezi velké internetové platformy, které podléhají přísnější regulaci podle unijního nařízení o digitálních službách (DSA). Firmy s více než 45 miliony uživatelů jsou podle DSA považovány za velmi velké on-line platformy (Very Large Online Platforms; VLOP) a podléhají přísnějším pravidlům EU pro internetový obsah. Pravidla po
… více »Tržní hodnota technologické společnosti Alphabet poprvé v historii přesáhla čtyři biliony dolarů (83 bilionů Kč). Stalo se tak poté, co Apple oznámil, že bude na poli umělé inteligence (AI) spolupracovat s dceřinou firmou Alphabetu, společností Google.
cd "~/data/psi/"
filter="-mtime -2"
exclude='( ! -iname "*ajax*" )'
find . $filter $exclude -type f
zobrazí i "ajax"
cd "~/data/pes/"
filter="-mtime -2"
exclude='\( ! -iname "*ajax*" \)'
find . $filter $exclude -type f
dostanu find: paths must precede expression: \(
Nějak nevím, jak to sestavit, zkoušel jsem pár dalších možností, ale většinou jsem skončil u stejné chyby jako ve druhém případě. Někde dělám chybu, ale nevím kde
Díky za nasměrování
Řešení dotazu:
paths must precede expression: \( by te mela trknout: jak to ze find vidi to zpetny lomitko? To tam prece davas aby ti zavorku nesezral shell. Do findu by to melo projit uz expandovany cili jestli je tam to lomitko videt tak se ta expanze neprovedla a mas tam zbytecny escapovani navic. Cili ty pitomy lomitka vymaz.
Bych si tak od boku strelil ze jsou za tim uvozovky/apostrofy, tam se vynechava vic expanzi.
find -mtime -2 ( ! -iname "*ajax*" )předáváte do
find 7 parametrů.
Když použijete proměnné, je celá proměnná považovaná za jeden parametr. Také ji tak nastavujete – máte její obsah v uvozovkách, tj. je to celé jeden text, včetně těch mezer. Takže váš příkaz
find . $filter $exclude -type fpředá do
find 5 parametrů a je ekvivalentní spuštění
find . '-mtime -2' '\( ! -iname "*ajax*" \)' -type fA tomu
find samozřejmě nerozumí.
Pokud chcete předat jednou proměnnou víc parametrů, musíte použít pole. Vyzkoušejte si to třeba na příkazu touch:
test1='abc def' test2=(ghj ijk) touch $test1 touch $test2První
touch vytvoří jeden soubor s názvem abc\ def. Druhý dostal jako parametr dvouprvkové pole, vytvoří tedy dva soubory, ghj a ijk.
Když použijete proměnné, je celá proměnná považovaná za jeden parametr.To je naprostá pitomost. 1) Dokumentace bashe: The order of expansions is: brace expansion, tilde expansion, parameter, variable and arithmetic expansion and command substitution (done in a left-to-right fashion), word splitting, and pathname expansion. 2) Praktický příklad:
x='-h -l -a' ls $x
zsh se chová přesně tak jak jsem popsal. bash se chová jak popisujete vy. Nenapadlo mne, že se v tomhle budou shelly lišit. Z té citované dokumentace to navíc neplyne, protože do x přiřazujete text v apostrofech, takže se to dá klidně chápat tak, že v proměnné bude mezera escapovaná. Ostatně
x='`pwd`' echo $xani bashi nevypíše aktuální adresář, ale vypíše text
`pwd`. Takže command substitution už v bashi na obsahu proměnné prováděno není.
set -xJelikož pathname expanse probíhá až po word splittingu, rozumné řešení je skutečně jen přes pole, jak už tu bylo napsáno:
exclude=('(' ! -iname '*sample*' ')')
find . $filter "${exclude[@]}" -type f
Využívá se magické vlastnosti konstrukce "${array[@]}", kterou shell neexpanduje na obsah pole jako jedno slovo, ale na samostatná slova pro každý prvek pole.
..... opravdu se to musí takhle ohackovat, vyzkoušeno a funguje...
Děkuji všem, kdož se snažili pomoct a doufám, že tato otázka pomůže i mnoha z vás
Milan
Tiskni
Sdílej: