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 04:33 | IT novinky

    Microsoft oznámil, že WSL kontejnery (WSLC) aneb linuxové kontejnery ve Windows Subsystem for Linux (WSL) jsou již obecně dostupné. Současně popsal jejich architekturu.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Komunita

    openSUSE Leap 16.1 vstoupil do RC fáze. Nově lze instalovat jako standardní systém (Standard) nebo jako neměnný systém s atomickými aktualizacemi (Immutable). Samostatná neměnná distribuce openSUSE Leap Micro končí.

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

    Byl vydán Mozilla Firefox 157.0. S nejvýraznější vizuální proměnou za poslední roky. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 157 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 10:33 | IT novinky

    Rodina produktů Raspberry Pi se rozšířila o Raspberry Pi Smart Display Module. Deska pro Raspberry Pi Compute Module 5 se zasouvá přímo do displejů dle specifikace Intel SDM. Cena desky je 30 dolarů.

    Ladislav Hagara | Komentářů: 0
    28.9. 23:44 | Nová verze

    Byla vydána nová verze 2.56.0 distribuovaného systému správy verzí Git. Přispělo 104 vývojářů, z toho 39 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    28.9. 21:22 | Bezpečnostní upozornění

    Hackerská skupina ShinyHunters oznámila průnik do informačních systémů FBI, prostřednictvím zero-day zranitelnosti v platformě Oracle PeopleSoft, kterou úřad využívá mimo jiné pro náborový portál FBIJobs.gov. Útočníci tvrdí, že získali až 3 TB dat o současných i bývalých zaměstnancích a uchazečích o práci. Jako důkaz zveřejnili vzorek přibližně 5 000 záznamů obsahující jména, adresy, telefonní čísla, data narození, čísla

    … více »
    AfD 💙 | Komentářů: 1
    28.9. 21:11 | Zajímavý článek

    Doba kompilace linuxového jádra se díky rychlejšímu hardwaru a optimalizacím kbuildu snižuje k deseti sekundám. Nejnovější patche Lorenza Stoakse (vznikají i s pomocí SI) zkrátily na testovacím stroji dobu sestavení z dlouhých 22 vteřin na pouhých 15, a to bez použití RAMdisku. Testovací systém tvořily dva procesory AMD EPYC 9575F (oba dohromady poskytují celkem 128 jader a 256 vláken), čtyřiadvacet 64GB DDR5-6400 paměťových modulů a

    … více »
    AfD 💙 | Komentářů: 13
    28.9. 01:33 | Komunita

    Před rokem a půl vývojáři postmarketOS informovali, že pro projekt hledají nové jméno. Včera bylo oznámeno: postmarketOS se nově jmenuje Nura.

    Ladislav Hagara | Komentářů: 8
    27.9. 13:44 | Zajímavý projekt

    Hra Factorio dorazila na Printables. Hned teď si můžete stáhnout 65 různých modelů a nechat celou mimozemskou planetu oživnout na svém stole.

    Ladislav Hagara | Komentářů: 13
    26.9. 19:22 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 18.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2752 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Jak ziskat neobsazenou hodnotu v rade cisel

    17.3.2015 07:55 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
    Jak ziskat neobsazenou hodnotu v rade cisel
    Přečteno: 619×
    Dostal jsem se do pasti jak vyresit nasledujici problem. Z nekolika serveru si zajistim hromadu cisel, ktere nasledne seradim vzestupne.

    Vystup mam nasledujici

    101 102 103 107 108 111 112 121 122 123 124 125 126

    potreboval bych aby mi script vratil hodnotu 104 coz je prvni hodnota neobsazena. Pokud ji budu mit obsazenou tak vrati 105, atd. V pripade ze posloupnost bude kompletni vrati prvni nejvyssi. v mem pripade 127.

    Muzete poradit jak na to.

    Momentalne mam skript nasledovne
    NODES=$(awk '/mycloud/ { print $1 }' /etc/hosts)
    
    CTID=$(for NODE_IP in ${NODES}; do
      ssh root@${NODE_IP} 'vzlist -a' | awk '/[:alnum:]/ { print $1 }'
    done | sort -g | tail -1)
    
    echo ${CTID}
    
    Tento vystup mi vrati 126

    Odpovědi

    DaBler avatar 17.3.2015 08:14 DaBler | skóre: 17 | blog: dabler | Brno
    Rozbalit Rozbalit vše Re: Jak ziskat neobsazenou hodnotu v rade cisel
    Nejprve si vygenerujte kompletní sekvenci.

    SEQ=$(seq 101 129)

    Potom stačí porovnat rozdíly.

    diff <(echo "$CTID") <(echo "$SEQ") | grep \> | head -n1 | sed 's/> //'
    17.3.2015 08:26 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
    Rozbalit Rozbalit vše Re: Jak ziskat neobsazenou hodnotu v rade cisel
    Diky, s tim diff me to vubec nenapadlo.
    17.3.2015 09:52 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak ziskat neobsazenou hodnotu v rade cisel

    Jen si nejsem jistý, jestli to tak bude opravdu efektivnější, než tu sekvenci prostě projít cyklem a kontrolovat, jestli je prvek aspoň o dva větší než předchozí (a vypsat poslední plus jedna, když se tam takový nenajde).

    Trochu mi to připomíná fóra PHP skriptařů, kde je snaha vyřešit všechno výhradně skládáním hotových funkcí, přestože je výsledek nezřídka zoufale neefektivní a daleko krkolomnější než přímočaré řešení pomocí základních prvků jazyka.

    Z hlavy a bez kontroly by to mohlo vypadat nějak takhle:

    
    function hole ()
    {
        local prev curr
    
        for curr in "$@"; do
            if [ -z "$prev" ]; then
                prev="$curr"
                continue
            fi
            if [ $[curr - prev] -gt 1 ]; then
                echo $[prev + 1]
                return
            fi
            prev="$curr"
        done
        echo $[curr + 1]
    }
    
    17.3.2015 14:51 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak ziskat neobsazenou hodnotu v rade cisel

    Velmi snadno si s tím poradí awk. Příklad:

    echo 101 102 103 107 108 111 112 121 122 123 124 125 126 |\
    awk '{ last = $1; for (i = 2; i <= NF; ++i) { if ($i - last > 1) break; last = $i } print last + 1 }'
    

    Dokonce to zpracuje i víc takových řádků po sobě, když na to přijde.

    Založit nové vlákno • Nahoru

    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.