Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.
Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.
Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.
V pátek 20. února 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 6. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a uživatelský prostor. Akce proběhne od 10:00 do večera. Hackday je určen všem, kteří si chtějí prakticky vyzkoušet práci s linuxovým jádrem i uživatelským prostorem, od posílání patchů například pomocí nástroje b4, přes balíčkování a Flatpak až po drobné úpravy
… více »Evropská rada vydavatelů (EPC) předložila Evropské komisi stížnost na americkou internetovou společnost Google kvůli její službě AI Overviews (AI souhrny), která při vyhledávání na internetu zobrazuje shrnutí informací ze zpravodajských serverů vytvořená pomocí umělé inteligence (AI). Evropská komise již v prosinci oznámila, že v souvislosti s touto službou začala firmu Google vyšetřovat. Google obvinění ze strany vydavatelů
… více »Ubuntu 26.04 (Resolute Raccoon) už nebude v desktopové instalaci obsahovat GUI nástroj 'Software & Updates'. Důvodem jsou obavy z jeho složitosti pro běžné uživatele a z toho plynoucích bezpečnostních rizik. Nástroj lze doinstalovat ručně (sudo apt install software-properties-gtk).
Thomas Dohmke, bývalý CEO GitHubu, představil startup Entire - platformu pro spolupráci vývojářů a agentů umělé inteligence. Entire získalo rekordních 60 milionů dolarů na vývoj databáze a nástrojů, které mají zefektivnit spolupráci mezi lidmi a agenty umělé inteligence. Dohmke zdůrazňuje potřebu přepracovat tradiční vývojové postupy tak, aby odpovídaly realitě, kdy většinu kódu produkuje umělá inteligence.
Toyota Connected North America oznámila vývoj open-source herního enginu Fluorite, postaveného na frameworku Flutter. Pro renderování grafiky využívá 3D engine Filament od společnosti Google a dle svého tvrzení cílí na konzolovou kvalitu her. Fluorite je zřejmě navržen tak, aby fungoval i na méně výkonném hardware, což naznačuje možnost použití přímo v ICE systémech vozidel. Zdrojový kód zatím zveřejněný není.
Byl vytvořen nástroj a postup pro překonání věkového ověření platforem Discord, Kick, Twitch, Snapchat (a možná dalších), kód je open-source a dostupný na GitHubu. Všechny tyto sítě používají stejnou službu k-ID, která určuje věk uživatele scanem obličeje a na původní server posílá pouze šifrovaná metadata, ty ale sociální síť už nedokáže sama nijak validovat, 'útok' spočívá ve vygenerování a podstrčení legitimně vypadajících ověřovacích metadat.
Jihokorejská kryptoměnová burza Bithumb přiznala vážné selhání interních systémů, které ji vystavilo riziku sabotáže a nezabránilo chybné transakci v hodnotě přes 40 miliard dolarů (814 miliard Kč). Druhá největší kryptoměnová burza v Koreji minulý týden při propagační akci omylem rozeslala zákazníkům zhruba 620 000 bitcoinů místo 620 000 wonů (8700 Kč). Incident vyvolal pokles ceny bitcoinu o 17 procent. Většinu
… více »tr pro nahrazování znaků, cut pro získání požadované části textu, sort pro řazení řádků a uniq pro odstranění opakujících se řádků.tr je program sloužící k nahrazování skupiny znaků na vstupu jinými znaky na výstupu. Název vychází z anglického slova translate nebo transliterate, což znamená přeložit nebo přepsat. První systém, se kterým byl program dodán, je AT&T UNIX verze .
Jelikož příkaz pracuje se standardním vstupem, tak mu na něj musíme něco předat, jinak se jen zdánlivě zasekne a bude čekat až do ukončení. Podívejme se na základní použití:
# načte soubor.txt, nahradí všechny výskyty znaku „a“ za „b“ # a upravený text vypíše na std. výstup tr a b < soubor.txt # provede následující nahrazení: # a -> b # b -> c # c -> a echo abccab | tr 'abc' 'bca' # výstup bude: bcaabc
Užitečná je možnost nahrazování skupiny znaků.
# nahradí malá písmena za velká (vypíše „ABCDEF“) echo abcdef | tr '[:lower:]' '[:upper:]' # odstraní z textu v souboru všechny číslice tr -d '[:digit:]' < "soubor.txt"
Nyní si popíšeme standardní přepínače programu, které rozšiřují jeho možnosti.
| Přepínač | Význam |
| -c | Doplní skupinu hodnot danou prvním zadaným řetězcem. |
| -C | Doplní skupinu znaků danou prvním zadaným řetězcem. |
| -d | Odstraní všechny výskyty dané skupiny znaků. |
| -s | Nahradí skupinu stejných, po sobě jdoucích znaků. |
Takový popis je sám o sobě docela matoucí a jsou zde ještě další pravidla, takže si to celé předvedeme na příkladech.
# odstraní všechny výskyty znaku „p“ (tj. vypíše „lama“) echo lampa | tr -d 'p' # totéž (funguje v bashi >=3, méně přenosné) tr -d 'p' <<< "lampa" # nahradí více mezer za sebou za jednu tr -s '[:space:]' < soubor.txt # po každém „slovu“ odřádkuje tr -cs "[:graph:]" "[\n*]" < ../seznam.txt # odstraní všechny znaky, kromě zadaných („a“, „b“, „c“, odřádkování a mezera) tr -dc 'abc\n ' < ~/x.log # odstraní všechny znaky, které nejsou v abecedě (kromě odřádkování) tr -dc '[:alpha:]\n' < soubor
cut je program sloužící k vytažení určitých částí z textu. Název vychází z anglického výrazu cut out, což znamená vyříznout.
Program zpracovává každý řádek daných souborů a umí provádět následující tři operace:
1-10. Zadáte-li jej spolu s přepínačem -n, rozsah se zarovná směrem dolů tak, aby se žádný znak nerozdělil. Nezadáte-li rozsah, ale jen počátek, např. 50-, znamená to od 50. bytu až na konec řádku.Předvedeme si to na ukázkách.
# vypíše ze souboru každý řádek od jeho 50. bytu cut -b 50- soubor # vypíše ze souboru 3. až 10. znak každého řádku cut -c 3-10 soubor # vypíše 2. a 4. sloupec ze seznamu ve formátu CSV oddělovaném středníky cut -d ';' -f 2,4 seznamu.csv
sort je program, jehož účelem je seřadit řádky daných souborů. Název programu znamená česky seřadit, takže zde není třeba nic vysvětlovat.
Základní použití je jednoduché:
# seřadí řádky v souboru 1.txt na std. výstup sort 1.txt # spojí soubory 1.txt a 2.txt a seřadí řádky sort 1.txt 2.txt # samozřejmě umí pracovat i se std. vstupem; # sort dostane na vstup prvních 500 řádků ze souboru # „soubor.txt“ a seřadí je na výstup. head -n 500 soubor.txt | sort
sort má docela velké množství přepínačů a jejich kompletní popis by vydal spolehlivě na samostatný článek, proto vyberu jen několik (subjektivně) zajímavých.
Může se hodit přepínač -o (output, výstup), který slouží k určení umístění, kam se uloží výstup (místo standardního výstupu). Má jednu výhodu oproti přesměrování výstupu, a sice tu, že umožňuje zadat stejný soubor jako vstupní i výstupní.
# tento příkaz si smaže soubor „pod rukama“ (!) sort soubor > soubor # toto je funkční a bezpečné (seřadí řádky v souboru) sort soubor -o soubor
Jsou-li jednotlivé vstupní soubory již seřazené a vy je chcete pouze spojit (a výsledek mít seřazený), můžete přidat přepínač -m (merge, spojit). Výsledek bude stejný, ale ušetříte nějaký čas (přímo úměrně k velikosti souboru).
# jsou-li vstupní soubory („A.txt“, „B.txt“, „C.txt“) seřazené, # spojí (a celkově seřadí) se do souboru „ABC.txt“ sort -m A.txt B.txt C.txt -o ABC.txt
Chcete-li soubor seřadit obráceně, poslouží vám přepínač -r (reverse, obráceně).
sort -r "/mnt/storage5/soubor.txt" > vystup.txt
Pokud se chcete zbavit opakujících se řádků, poslouží přepínač -u (unique, jedinečný), který vlastně dělá totéž, co níže popisovaný program uniq.
# seřadí seznam a zbaví jej duplicitních záznamů sort "seznam.txt" | uniq > "serazeny-seznam.txt" # totéž bez použití uniq sort -uo "serazeny-seznam.txt" "seznam.txt"
Potřebujeme-li seřadit výpis podle jiného sloupce, než je ten první, použijeme přepínač -k. Zadáme-li pouze jedno číslo, bude řadit od n-tého sloupce až do posledního (v případě potřeby, tj. pokud budou hodnoty na n-tém sloupci stejné). Proto je někdy vhodné za čárku dopsat číslo sloupce, u kterého se má s řazením přestat. Toto druhé číslo může být stejné jako první. Zadáme-li za číslo tečku a za ni jiné číslo (m), sort bude řadit podle m-tého znaku n-tého sloupce.
# seřadí vstup podle druhého sloupce sort -k 2,2 << EOF 1 b 2 a EOF # seřadí řádky souboru podle druhého znaku řetězce # ve třetím sloupci sort -k 3.2,3.2 "soubor"
Sloupce jsou v tomto případě oddělovány vždy prázdným místem (mezerami) mezi jednotlivými slovy. Ke změně oddělovače sloupců lze použít přepínač -t.
sort -t ';' -k 3 "seznam.csv"
Užitečný je často přepínač -n (numeric sort, numerické řazení), který aktivuje řazení dle číselné hodnoty. Lze samozřejmě kombinovat s ostatními přepínači.
sort -n "soubor.txt"
Tento program má skutečně široké možnosti, co se týče řazení řádků, proto potřebujete-li něco ještě konkrétnějšího, než jsem zde popsal, podívejte se do specifikace SUS (anglicky) nebo se zeptejte v diskuzi.
uniq slouží primárně k filtrování stejných, po sobě jdoucích řádků tak, aby se opakovaný řádek vypsal pouze jednou. Příkaz se poprvé objevil v AT&T UNIXu verze 3. Název vychází patrně z anglického slova unique (jedinečný), protože to souvisí s jeho účelem – každý řádek je totiž po zpracování programem jedinečný (neopakuje se).
Jelikož se duplicitní řádky odstraní jen tehdy, když spolu sousedí, často je žádoucí řádky nejdřív seřadit pomocí výše popisovaného programu sort. Ovšem použijete-li sort, pak už vám nic nebrání rovnou využít jeho přepínač -u a použití uniq se tak úplně vyhnout.
# seřadí seznam a zbaví jej duplicitních záznamů sort "seznam.txt" | uniq > "serazeny-seznam.txt" # totéž bez použití uniq sort -uo "seznam.txt" "seznam.txt"
Chování programu lze ovlivnit přepínači. Popíšeme si zde ty, které byly standardizovány.
| Přepínač | Význam |
| -c | Před každý řádek vypíše číslo, signalizující po kolikáté se daný řádek opakuje. Tzn. neodstraňuje duplicity. |
| -d | Vypíše pouze opakující se řádky. |
| -f n | Ignoruje maximálně prvních n znaků, které odpovídají regulárnímu výrazu [[:blank:]]*[^[:blank:]]*. Pokud je n větší než skutečný počet těchto znaků, použije se pro porovnání prázdný řetězec. |
| -s n | Ignoruje prvních n znaků při porovnávání řádků. |
| -u | Řádky, které se opakují, nevypíše ani jednou. |
Jako vždy si přepínače předvedeme na ukázkách.
# vypíše řádky, které se v souboru „x“ opakují sort "x" | uniq -d # vypíše před každý řádek číslo, kolikrát se opakoval uniq -c "seznam" # vypíše pouze řádky „1111“ a „3211“, protože první znak je ignorován a # tím pádem jsou první tři řádky považovány za stejné uniq -s 1 << EOS 1111 2111 3111 3211 EOS
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
-c, -C příkazu tr napsat spíš neguje než doplní. Přestože vím, co ty přepínače dělají, chvíli mi trvalo, než jsem pochopil, že "doplní" má znamenat "vezme doplněk".
tr -s'.
bash$ sort --key 2 -u <<EOF > a a > b a > c a > EOF a aneboli uniq se týká jen klíče (popř klíčů), ne celé řádky. Někdy toho lze s výhodou využít.
# seřadí seznam a zbaví jej duplicitních záznamů sort "seznam.txt" | uniq > "serazeny-seznam.txt" # totéž bez použití uniq sort -uo "serazeny-seznam.txt" "seznam.txt"