Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.
Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.
Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.
Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …
Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.
Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.
Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.
Nejnovější X.Org X server 21.1.23 a Xwayland 24.1.12 řeší 9 bezpečnostních chyb.
npm balíčky @redhat-cloud-services byly kompromitovány.
a a a b b b c c c d d dpotrebuji dostat vsechny a-c. chci to delat zpusobem
awk '/c/||/a/,/c/ {print}' #to chodi
awk '/a/,/c/||/c/ {print}' #ale nechodi proc?
otazka. c. 2:
jak udelat obdobnou ulohu pomoci sedu?
diky!
awk '/[a-c]/'?
Ad 2.) sed '/[^a-c]/d'
Ovšem úplně nejrozumnější (ovšem tohle vypadá jako školní úloha
) je použít grep '[a-c]'
Čárka v awk odděluje dva vzory a příslušná akce se vykoná pro rozsah od řádku, který vyhovuje prvnímu vzoru, do nejbližšího řádku, který vyhovuje druhému vzoru (včetně). Pokud se najde další řádek vyhovující prvnímu vzoru, tak se začne znovu.
'/c/||/a/,/c/' vybírá rozsahy od řádku obsahujícího a nebo c do prvního řádku obsahujícího c.
'/a/,/c/||/c/' vybírá rozsahy od řádku obsahujícího a do prvního řádku obsahujícího c.
Hint: podívej se odkud kam ty podmínky platí
aha. jde mi to vytisknout vsechny radky od radku obsahujiciho a vcetne do c vcetne vsech dalsich jeste obsahujicich c priklad: ---soubor--- a a a b 1111 22222 3333333 1111 22222 3333333 b b cccc cccc cccc d d cc --tisk:------------------------- a a a b 1111 22222 3333333 1111 22222 3333333 b b cccc <- awk pro /a/,/c/ skonci tady cccc cccc <- chci skoncit tisk u tohoto radku d <- toto a dal uz nechci tisknout d cc --------- tj. /a/,/c/ ale neskoncit u 1. c, tisknout i dalsi c ktere navazuji.
Jo, pro takovou úlohu je awk ideální, mně přijde nejjednodušší pomoct si stavovou proměnnou. Možností je víc.
awk '!s && /a/ { s = 1 }
s && /c/ { s = 2 }
s == 2 && !/c/ { exit }
s { print }'
Tohle začne vypisovat na a a skončí při posledním c.
# Když narazím na "a" nebo posléze na "c", tak si to
# poznamenám
!stav && /a/ { stav = "nalezeno a" }
stav == "nalezeno a" && /c/ { stav = "nalezeno c" }
# Jsem za "c", ale na řádku už "c" není -> konec zpracování
stav == "nalezeno c" && !/c/ { exit }
# stav je nastaven, takže jsem už našel "a" takže řádek
# vytisknu
stav { print }
awk zpracovává pravidla v pořadí, v jakém je dostane a pokud je splněná podmínka, tak vykoná akci (a to může ovlivnit platnost dalších podmínek). Jestli ti není jasný, jak awk funguje, tak pomůže man nebo nějaká literatura.
!stav &&
?!stav má význam ve chvíli, kdy už je stav "nalezeno c". Kdyby tam nebylo, tak by třeba na vstup,
a b c a dawk odpovědělo stejně, ale když tam je, tak skončí po opsání třetího řádku.
V té původní verzi se testovalo s je/není rovno nule a stejně v awk funguje je/není prázdný řetězec. Neinicializovaná proměnná má hodnotu 0 nebo prázdný řetězec podle kontextu.
s == 0 && /a/ { s = 1 }
# v tomhle případě tady může být i s == 1
s != 0 && /c/ { s = 2 }
s == 2 && !/c/ { exit }
s != 0 { print }
Tiskni
Sdílej: