Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.
… více »Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.
Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.
Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.
Cathode Ray Dude v novém videu ukazuje autorádio Empeg Car (později Rio Car) z let 1999–2001. Šlo o jeden z prvních přehrávačů MP3 do auta. Běží na něm Linux. Vyrobeno bylo jen asi pět tisíc kusů, ale zůstala kolem nich živá komunita, viz např. web riocar.org.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.7.
Wayland byl vydán ve verzi 1.24.0. Jde o menší vydání po více než roce. Více funkcionality bývá přidáváno v průběžných vydáních Wayland Protocols.
Textový editor Geany byl vydán ve verzi 2.1. Jde o udržovací vydání po bezmála dvou letech. Obsahuje drobná vylepšení vyhledávání, aktualizace podpory zvýrazňování syntaxe a dále převážně opravy chyb.
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 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: