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 18:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

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

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

    Ladislav Hagara | Komentářů: 0
    dnes 15:00 | Nová verze

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    dnes 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    dnes 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevili v únicích dat a případně se nechat na další úniky upozorňovat.

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

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

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

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

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

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    včera 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

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

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (58%)
     (26%)
     (9%)
     (0%)
     (0%)
     (0%)
     (7%)
    Celkem 43 hlasů
     Komentářů: 4, poslední včera 22:41
    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.