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 16:11 | Nová verze

    Webový prohlížeč Mozilla Firefox byl vydán ve verzi 95.0. Mezi změnami figuruje např. povolení Site Isolation všem uživatelům a izolace vybraných knihoven RLBox na všech platformách.

    Fluttershy, yay! | Komentářů: 0
    dnes 12:33 | Nová verze

    Byla vydána verze 4.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání. Současně byly vydány verze 3.2.10, 3.1.14 a 2.2.25 řešící bezpečnostní chybu CVE-2021-44420.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | IT novinky

    Uživatelé služby mojeID, kterou provozuje sdružení CZ.NIC, mají nyní možnost zvolit si u svého účtu ověření na úroveň záruky „Vysoká“. Získají tím přístup ke všem elektronickým službám veřejné správy, včetně těch, které vyžadují nejvyšší zabezpečení. Mezi ty patří například založení a administrace majetkového účtu nebo on-line nákup státních dluhopisů. Uživatelů služby mojeID, kteří mají svůj účet propojený s Národním bodem pro identifikaci a autentizaci (NIA), je nyní téměř 40 tisíc.

    Ladislav Hagara | Komentářů: 0
    dnes 07:00 | Komunita

    Konsorcium Linux Foundation zveřejnilo sedmaosmdesátistránkovou Výroční zprávu za rok 2021 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | Komunita

    Vývojáři svobodného 3D softwaru Blender představili (Twitter) nejnovějšího firemního sponzora Blenderu. Je ním decentralizovaný virtuální svět Decentraland a úroveň sponzoringu je Patron, tj. minimálně 120 tisíc eur ročně.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | Zajímavý článek

    MojeFedora.cz v článku GNOME Shell: co se připravuje představuje možné novinky v GNOME Shellu: Nahrávání obrazovky, Rozlišení pozadí podle světlosti tématu, Rychlé přepínače, …

    Ladislav Hagara | Komentářů: 30
    včera 15:11 | Nová verze

    Byla vydána verze 8.0 linuxové distribuce Freespire (Wikipedie). Jedná se o bezplatnou linuxovou distribuci vyvíjenou společností PC/OpenSystems LLC stojící za komerční distribucí Linspire (Wikipedie), původně Lindows.

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

    Po roce dostal multiplatformní šifrovací nástroj VeraCrypt (nástupce TrueCrypt) menší vydání 1.25.4. Podrobnosti v poznámkách k vydání, figuruje mezi nimi např. nová volba pro využití veškerého dostupného místa vytvářeným kontejnerem nebo podpora OpenBSD.

    Fluttershy, yay! | Komentářů: 0
    včera 08:00 | Nová verze

    Byla vydána OpenIndiana Hipster 2021.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    3.12. 23:33 | Zajímavý článek

    Na stránkách Syst3m Failure byl publikován článek o využití 16leté bezpečnostní chyby CVE-2021-42008 v Linuxu v ovladači 6pack k získání roota. Chyba byla do Linuxu zanesena v roce 2005 a v upstreamu opravena letos v létě.

    Ladislav Hagara | Komentářů: 33
    Pracujete z domu?
     (33%)
     (32%)
     (17%)
     (1%)
     (16%)
     (2%)
    Celkem 174 hlasů
     Komentářů: 18, poslední včera 14:51
    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. 17:05 Andrej | skóre: 49 | 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.