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 13:44 | Komunita

    Ve španělské A Coruñě probíhá GUADEC 2026, tj. letošní konference vývojářů a uživatelů desktopového prostředí GNOME. Videozáznamy přednášek jsou k dispozici na YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Komunita

    Společnost Collabora ve spolupráci s Valve vyvíjí Holo Core, tj. port Arch Linuxu pro ARM64 procesory (AArch64), který bude pohánět VR headset Steam Frame. Pro testování Arch Linuxu pro AArch64 jsou k dispozici binární balíčky, zdrojové kódy i kontejner pro Docker nebo Podman.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | IT novinky

    Mikroprocesor Zilog Z80 byl oficiálně uveden na trh před 50 lety, tj. v červenci 1976. Výroba mikroprocesoru skončila v roce 2024.

    Ladislav Hagara | Komentářů: 0
    dnes 02:55 | Bezpečnostní upozornění

    Výzkumníci ze společnosti ESET objevili 11 zapomenutých UEFI shim zavaděčů, které byly podepsány společností Microsoft, a které umožňují útočníkům obejít ochranu UEFI Secure Boot na většině zařízení. Microsoft je zneplatnil (přidal jejich hash do databáze dbx) v rámci aktualizace Patch Tuesday dne 9. června 2026. Uživatelé Linuxu mohou databází aktualizovat pomocí LVFS. Ověřit zneplatnění zavaděčů lze pomocí skriptu uefi-dbx-audit. Jedná se o CVE-2026-8863 a CVE-2026-10797.

    Ladislav Hagara | Komentářů: 3
    včera 16:55 | Zajímavý software

    pico-usb-wifi je open source firmware pro Raspberry Pi Pico W, který jej promění v USB Wi-Fi adaptér. Po připojení k počítači se objeví jako zařízení USB CDC-NCM.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | IT novinky

    Americká společnost Google ze skupiny Alphabet bude muset podle nových požadavků Evropské unie umožnit společnosti OpenAI i dalším konkurentům v oblasti umělé inteligence (AI) a internetových vyhledávačů přístup ke svým službám. Ve svém rozhodnutí o tom včera informovala Evropská komise (EK). Opatření má zajistit dodržování pravidel, jejichž cílem je omezit v EU tržní sílu velkých technologických firem. Google s tím nesouhlasí.

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Komunita

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)

    Ladislav Hagara | Komentářů: 5
    včera 00:22 | Zajímavý software

    Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    16.7. 19:55 | Nová verze

    Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    16.7. 14:44 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

    Ladislav Hagara | Komentářů: 7
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2159 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Nahrazení hodnoty v array

    5.3.2013 12:23 BLACK
    Nahrazení hodnoty v array
    Přečteno: 319×
    Zdravím všechny, snažím se vyřešit jeden pro mne celkem neřešitelný probém. Mám definované pole
    ARR=(
    "xxx" "xxxxxxxxxxxxxx"
    "xxx" "xxxxxxxxxxxxxx"
    "xxx" "xxxxxxxxxxxxxx"
    "xxx" "ssssssssssssss"
    "xxx" "xxxxxxxxxxxxxx"
    "xxx" "xxxxxxxxxxxxxx"
    )
    A potřebuji nahradit v tomto poli hodnotu ssssssssssssss za xxxxxxxxxxxxxx. Neporadil by někdo jak to provéct v bash/shell? Děkuji

    Odpovědi

    5.3.2013 14:28 GiGo
    Rozbalit Rozbalit vše Re: Nahrazení hodnoty v array
    ARR[7]=xxxxxxxxxxxxxx
    5.3.2013 16:44 Kit
    Rozbalit Rozbalit vše Re: Nahrazení hodnoty v array
    V shellu se dobře dělá se soubory, ale práce s polem je v něm kostrbatá. Skutečně tu změnu potřebuješ dělat na poli?
    5.3.2013 19:00 j
    Rozbalit Rozbalit vše Re: Nahrazení hodnoty v array
    Chjo, co tak zkusit google? 10s ...
    #!/bin/bash
    
    ARR=(
    "xxx" "xxxxxxxxxxxxxx"
    "xxx" "xxxxxxxxxxxxxx"
    "xxx" "xxxxxxxxxxxxxx"
    "xxx" "ssssssssssssss"
    "xxx" "xxxxxxxxxxxxxx"
    "xxx" "xxxxxxxxxxxxxx"
    )
    
    x="ssssssssssssss"
    
    len=${#ARR[@]}
    
    for (( i=0; i< len; i++ ))
    do
        if [ "${ARR[i]}" == "$x" ]
        then
            ARR[i]="kkk"
            echo ${ARR[i]}
        fi
    done
    
    5.3.2013 21:02 bashoid
    Rozbalit Rozbalit vše Re: Nahrazení hodnoty v array
    Proč to dělat jednoduše, když máme i bash:

    ARR=${ARR[@]/ssssssssssssss/xxxxxxxxxxxxxx}
    5.3.2013 21:46 bashoid
    Rozbalit Rozbalit vše Re: Nahrazení hodnoty v array
    Pardon, drobný nedoraz, jak říkám, je to velmi jednoduché:
    ARR=("${ARR[@]/ssssssssssssss/xxxxxxxxxxxxxx}")
    5.3.2013 21:47 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Nahrazení hodnoty v array

    To nie je spravne riesenie, spravne je to nasledovne:

    ARR=( "${ARR[@]/ssssssssssssss/xxxxxxxxxxxxxx}" )

    alebo pre viac ako prvy vyskyt daneho retazca sssssssssssss je to nasledovne:

    ARR=( "${ARR[@]//ssssssssssssss/xxxxxxxxxxxxxx}" )
    5.3.2013 22:17 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Nahrazení hodnoty v array
    Je otázka, jestli děláte opravdu to, co je zadáno.

    Když někdo řekne že chce v poli změnit hodnotu ssss na xxxx, první mne napadne, že chce v těch prvcích pole, které mají hodnotu rovnu ssss nahradit jejich tuto hodnotu hodnotou yyyy.

    Až když jste navrhl vaše řešení mne napadlo, že by v zadání mohlo jít o fulltextové nahrazování, hodnoty ve smyslu řetězce, nikoliv hodnoty prvku pole.

    Takže záleží na tom, co je cílem. Abychom při nahrazování ryb kočkami nedostali velkočku.

    Osobně tipuji že podle toho jak je to zadáno se mají opravdu nahrazovat ryby kočkami, ne velryby velkočkami.
    5.3.2013 23:02 meta
    Rozbalit Rozbalit vše Re: Nahrazení hodnoty v array
    V zadání je dokonce v tomto poli. Myslím, že literu zadání doslovně splnil i první humorista.
    5.3.2013 23:03 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Nahrazení hodnoty v array

    To je dobra poznamka a popravde dost dolezita, kedze je aj mojim nazorom, ze nahradzujeme hodnoty jednotlivych clenov pola. Ale co som opravil riesenie vyssie, je stale len nahradzovanie retazcov, kedy nahradenie retazca sss retazcom xxx plati aj pre aaasss a taktiez aj pre aaasssbbbssssss a podobne.

    Riesenim pre nahradzovanie hodnot clenov pola by mohlo byt aj nasledovne:

    patrik@thinkpad:~$ echo "${pole[@]}"
    aaaccc bbb ccc dddcccddd ccc
    patrik@thinkpad:~$ once=0; value1='ccc'; value2='xxx'; num=0; for item in "${pole[@]}"; do [[ "$item" == "$value1" ]] && { pole[$num]="$value2"; [[ "$once" -eq 0 ]] && break; }; (( num++ )); done
    patrik@thinkpad:~$ echo "${pole[@]}" 
    aaaccc bbb xxx dddcccddd ccc
    5.3.2013 23:11 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Nahrazení hodnoty v array
    Osobně v momentě, kdy stejně z technických důvodů potřebuji index, rezignuji na cool for item in array a udělám prostý for cyklus přes prvky toho pole indexované tím indexem jako je uvedeno v příspěvku č. 3 od j, připadá mi to i konzistentnější ve smyslu že nahrazuji s jistotou přesně to, co jsme před tím porovnal a našel shodu a tedy nahradit chtěl.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.