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

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

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

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 26
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 398 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Paraleni spusteni skriptu a cyklus pro grepnuti kazdeho radku ze seznamu

    23.7.2015 15:58 Lucius
    Paraleni spusteni skriptu a cyklus pro grepnuti kazdeho radku ze seznamu
    Přečteno: 293×
    Ahoj, chtel jsem se zeptat, zda nekdo poradi, jak vyresit/osetrit situaci, kdy: chci poustet paralene mujskript.sh, ktery si jako 2 dynamicky promenne vezme z kazdeho radku az dokonce prvni a druhy sloupec a udela nejaky vystup. Nechci to poustet seriove, protoze to trva docela dlouho a je mozne, ze seznam.txt bude obsahovat cca 50-100 radku, mujscript.sh udela svoji logiku za pomoci techto dvou promennych a vytvori nejaky vystupni soubor. Ted mi jde o to udelat takovy cyklus, ktery to projede od shora dolu spolu s paralelnim spustenim mujscript.sh Diky

    Neco ve smyslu:
    mujscript.sh
    prvni=`cat seznam.txt |awk -F";" '{print $1}'`
    druhy=`cat seznam.txt |awk -F";" '{print $2}'`

    Odpovědi

    23.7.2015 16:52 Sten
    Rozbalit Rozbalit vše Re: Paraleni spusteni skriptu a cyklus pro grepnuti kazdeho radku ze seznamu
    A potřebuje to jako dvě oddělené proměnné? Kdyby to třeba mohl načítat po řádcích on-the-fly:
    while IFS=';' read prvni druhy; do
        …
    done <seznam.txt
    
    24.7.2015 09:27 Lucius
    Rozbalit Rozbalit vše Re: Paraleni spusteni skriptu a cyklus pro grepnuti kazdeho radku ze seznamu
    Takhle to vyhovuje, ale jak to mam udelat, aby si ten skript vzal prvni radek, vystartoval proces, zacala se provadet logika, ve stejny cas si vzal druhy radek, vystartoval se dalsi paralelni proces, atd. az na konec souboru? Diky
    AraxoN avatar 24.7.2015 09:41 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Paraleni spusteni skriptu a cyklus pro grepnuti kazdeho radku ze seznamu
    Obecne keď sa nemá čakať na skončenie vykonávania, stačí za príkaz dať &. Takto sa dá spustiť viacero procesov paralelne. Ak sa v nejakom bode má počkať až takto spustené procesy skončia, použije sa príkaz wait:
    #!/bin/sh
    echo "dobru noc"
    sleep 1 &
    sleep 2 &
    sleep 3 &
    wait
    echo "dobre rano"

    time ./test.sh
    dobru noc
    dobre rano
    
    real    0m3.015s
    user    0m0.000s
    sys     0m0.000s
    Tzn. sleep 1, 2 a 3 sa rozbehli paralelne a potom sa počkalo kým skončia - t.j. 3 sekundy, nie 6 ako by to bolo pri postupnom vykonávaní.
    24.7.2015 11:05 Lucius
    Rozbalit Rozbalit vše Re: Paraleni spusteni skriptu a cyklus pro grepnuti kazdeho radku ze seznamu
    A ted jak to udelat v kontextu cyklu? Takhle?

    while IFS=';' read prvni druhy; do
       echo $prvni
       echo $druhy
    done < seznam.txt &
    wait
    echo "ALL DONE"
    24.7.2015 13:24 partizann
    Rozbalit Rozbalit vše Re: Paraleni spusteni skriptu a cyklus pro grepnuti kazdeho radku ze seznamu

    while IFS=';' read prvni druhy; do

    echo $prvni &

    echo $druhy &

    done < seznam.txt

    wait

    echo "ALL DONE"

    pripadne ak sa ma prvni a druhy vykonat po sebe:

    while IFS=';' read prvni druhy; do

    $(echo $prvni ;echo $druhy) &

    done < seznam.txt

    wait

    echo "ALL DONE"

    24.7.2015 15:24 Lucius
    Rozbalit Rozbalit vše Re: Paraleni spusteni skriptu a cyklus pro grepnuti kazdeho radku ze seznamu
    A da se to udelat tak, ze cyklus si udelam jako funkci
    ahoj(){
    while IFS=';' read prvni druhy; do
    echo $prvni 
    echo $druhy 
    done < seznam.txt
    echo "ALL DONE"
    }
    a v hlavni casti pak udelam:
    ahoj &
    wait
    echo "ALL DONE"
    ? Dik
    24.7.2015 20:23 chrono
    Rozbalit Rozbalit vše Re: Paraleni spusteni skriptu a cyklus pro grepnuti kazdeho radku ze seznamu
    Možno by sa dal použiť GNU Parallel a niečo ako
    parallel --eta --colsep ";" --arg-file seznam.txt mujscript {1} {2}

    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.