abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 11:33 | Zajímavý článek

    Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.

    |🇵🇸 | Komentářů: 1
    dnes 11:22 | IT novinky

    Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a

    … více »
    Ladislav Hagara | Komentářů: 8
    včera 19:11 | Komunita

    Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.

    Ladislav Hagara | Komentářů: 5
    včera 16:11 | Nová verze

    Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Nová verze

    FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    včera 13:11 | IT novinky

    Společnost OpenAI oznámila [𝕏], že ukončí aplikaci Sora pro generování krátkých videí pomocí umělé inteligence. Podrobné informace a harmonogram pro aplikaci a API budou brzy zveřejněny.

    Ladislav Hagara | Komentářů: 10
    včera 12:22 | IT novinky

    Evropská směrnice NIS2 přináší nové požadavky v oblasti kybernetické bezpečnosti, které se promítají také do správy doménových jmen. Do českého právního řádu je směrnice implementována prostřednictvím nového zákona o kybernetické bezpečnosti. Jedním z praktických důsledků této legislativní změny je posílení požadavků na dostupnost a správnost kontaktních údajů držitelů domén. Správce registru domény .cz, sdružení CZ.NIC, je v

    … více »
    Ladislav Hagara | Komentářů: 32
    včera 01:55 | Nová verze

    Jonathan Thomas oznámil vydání nové verze 3.5.0 video editoru OpenShot (Wikipedie). Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

    Ladislav Hagara | Komentářů: 6
    včera 00:55 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 2026.1 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 8 nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    24.3. 16:33 | IT novinky

    Vláda jmenovala novým zmocněncem pro digitalizaci a strategickou bezpečnost prvního náměstka ministra vnitra Lukáše Klučku. Ten ve funkci nahradil poslance Roberta Králíčka poté, co Králíček na tento post vládního zmocněnce rezignoval. Klučka chce do roka digitalizovat všechny státní služby tak, aby vyhověly zákonu o právu na digitální služby, přičemž dosavadní plán Fialovy vlády počítal s dokončením digitalizace až někdy v roce

    … více »
    NUKE GAZA! 🎆 | Komentářů: 11
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1158 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    4.10.2021 17:05 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak naplnit pole vybranými řádky ze souboru

    Pole (i obyčejná ne-asociativní) jsou v Bashi řídká (málem jako řídká stolice) a v podstatě tedy odpovídají tomu hashsetu. (Tedy, pokud implementace nepoužívá stromy, což jsem líný teď hned kontrolovat.) Tudíž bych mohl mít čísla řádků jako indexy v řídkém poli a při čtení souboru pak jenom u každého řádku zkoušet, jestli jeho číslo v řídkém poli je:

    print_lines() {
      local -; set -eu
      local -r file="$1"
      local -n lines="$2"
      local -ai indexed=()
      local -i n max=0
      local line
    
      for n in "${lines[@]}"; do
        ((++indexed[n]))
        ((max = max < n ? n : max))
      done
      n=0
      while ((n <= max)) && IFS= read -r line; do
        ((++n))
        for ((; indexed[n]; --indexed[n])); do printf '%d: %s\n' "$n" "$line"; done
      done < "$file"
    }
    
    # Příklad:
    some_lines=({99..1..-11} {99..1..-3})
    print_lines /proc/cpuinfo some_lines
    

    Třídění ovšem může přinést jistou výhodu (ne efektivní, ale svým způsobem hezkou): Řádky mezi dvěma požadovanými můžu přečíst bez koukání do hashsetu. Což vyžaduje mít čísla řádků setříděná, abych věděl, co znamená mezi dvěma. Následující příklad na první pohled explicitní třídění nemá, ale na druhý pohled už jo: Je schované ve výrazu "${!indexed[@]}". (Ve výrazu "${indexed[@]}" bez vykřičníku by bylo taky, kdyby tam byl.) Bash prochází pole (i řídká) v pořadí setříděném podle indexů.

    print_lines_with_hidden_sort() {
      local -; set -eu
      local -r file="$1"
      local -n lines="$2"
      local -ai indexed=()
      local -i n=0 m
      local line
    
      for m in "${lines[@]}"; do ((++indexed[m])); done
      for m in "${!indexed[@]}"; do
        until ((n == m)); do IFS= read -r line && ((++n)) || break 2; done
        for ((; indexed[m]; --indexed[m])); do printf '%d: %s\n' "$n" "$line"; done
      done < "$file"
    }
    
    # Příklad:
    some_lines=({99..1..-11} {99..1..-3})
    print_lines_with_hidden_sort /proc/cpuinfo some_lines
    

    Závěrečná otázka potom je, jestli náhodou k tomu třídění někde v Bashi nedochází implicitně tak či tak, i bez použití "${!indexed[@]}". (Při reprezentaci řídkého pole vyváženými stromy jednoznačně ano — pokud by Bash něco takového používal.) V takovém případě by byl druhý příklad dokonce efektivnější (no, ehm, „krát konstanta“) než první.

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.