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 22:55 | Bezpečnostní upozornění

CSIRT.CZ informuje, že byly vydány nové bezpečnostní aktualizace, které opravují několik zranitelných míst v Sambě. Útočník může využít zranitelnosti s cílem získání přístupu k potenciálně citlivých informací. Uživatelům a správcům je doporučeno, aby zkontrolovali bezpečnostní opatření pro CVE-2017-12150, CVE-2017-12151 a CVE-2017-12163 a provedli potřebné aktualizace.

Ladislav Hagara | Komentářů: 0
dnes 21:44 | Komunita

Společnost Red Hat aktualizovala svůj slib ohledně softwarových patentů. Slib nově zahrnuje i open source software pod permisivními licencemi.

Ladislav Hagara | Komentářů: 0
dnes 08:55 | Komunita

Do 22. září probíhá v Mountain View konference XDC2017 (X.Org Developer's Conference). Na programu je řada zajímavých přednášek. Sledovat je lze online. K dispozici je záznam přednášek ze včerejšího dne.

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

Byla vydána nová stabilní verze 1.12 (1.12.955.36) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují možnost zobrazení metadat u digitálních fotografií, vylepšený panel stahování a omezení sytosti barvy zdůraznění (YouTube). Nejnovější Vivaldi je postaveno na Chromiu 61.0.3163.91.

Ladislav Hagara | Komentářů: 39
včera 10:55 | Nová verze

Byla vydána verze 4.0 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 16.10, Ubuntu 16.04 a Ubuntu 14.04.

Ladislav Hagara | Komentářů: 5
19.9. 23:33 | Zajímavý software

MojeFedora informuje, že PipeWire byl oficiálně oznámen (en). PipeWire bude zprostředkovávat aplikacím jednotný přístup k audiu a videu. Jedním z hlavních důvodů je možnost izolovat aplikace od audio a video zdrojů. Aplikace nebudou mít přímý přístup k hardwaru, ale budou se muset ptát multimediálního serveru PipeWire, který jim je na základě nastavených oprávnění poskytne nebo ne. V budoucnu by měl PipeWire nahradit PulseAudio.

Ladislav Hagara | Komentářů: 25
19.9. 00:55 | Zajímavý software

Společnost IBM věnovala svůj JVM (Java Virtual Machine) s názvem J9 nadaci Eclipse. Nové oficiální jméno tohoto virtuálního stroje určeného pro běh aplikací napsaných v programovacím jazyce Java je Eclipse OpenJ9 (Wikipedie). Podrobnosti v často kladených dotazech (FAQ).

Ladislav Hagara | Komentářů: 15
19.9. 00:11 | IT novinky

Mezinárodní konsorcium W3C (World Wide Web Consortium) publikovalo kontroverzní rozšíření HTML 5.1 EME (Encrypted Media Extensions) jako webový standard, tj. schválilo DRM v HTML 5.1. Mezinárodní nezisková organizace EFF (Electronic Frontier Foundation) hájící občanské svobody v digitálním světě zveřejnila na svých stránkách otevřený dopis adresovaný W3C. EFF s EME zásadně nesouhlasí a W3C opouští.

Ladislav Hagara | Komentářů: 57
18.9. 18:44 | Zajímavý projekt

Skywriter je deska umožňující snímat 3D gesta. Ben James na svých stránkách ukázal, jak lze pomocí této desky a Arduina Leonardo ovládat linuxový desktop. Videoukázka na YouTube. Ukázka kódu na GitHubu [reddit].

Ladislav Hagara | Komentářů: 4
18.9. 15:22 | Komunita

Od 8. do 10. září proběhla v Paříži konference UbuCon Europe 2017, tj. konference vývojářů a uživatelů linuxové distribuce Ubuntu. Dustin Kirkland z Canonicalu se ve své přednášce věnoval Ubuntu 18.04 LTS. Záznam přednášky byl zveřejněn na YouTube [reddit].

Ladislav Hagara | Komentářů: 1
Těžíte nějakou kryptoměnu?
 (5%)
 (3%)
 (17%)
 (75%)
Celkem 550 hlasů
 Komentářů: 22, poslední 29.8. 11:23
    Rozcestník

    Dotaz: serazeni pole v bashi

    30.6.2007 16:22 Petr
    serazeni pole v bashi
    Přečteno: 1730×
    prosim vas o radu kterak seradit hodnoty v poli inkrementalne. Pole obsahuje napriklad:

    #!/bin/bash

    pole=( 1 10 6 9 10 22 11 34 21 12 2 )

    Moc mi to pomuze. Dekuji predem.

    Odpovědi

    30.6.2007 17:15 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    Jde to udělat třeba takto pomocí jednoduchého třídění výměnou s časovou složitostí O(N^2):
    #!/bin/bash
    POLE=(4 1 8 6 10)
    echo "Pole před: ${POLE[@]}"
    for ((I=0;I<${#POLE[@]};I++)); do
    	for ((J=I+1;J<${#POLE[@]};J++)); do
    		if [ ${POLE[J]} -lt ${POLE[I]} ]; then
    			TMP=${POLE[J]}
    			POLE[J]=${POLE[I]}
    			POLE[I]=$TMP
    		fi
    	done
    done	
    echo "Pole po: ${POLE[@]}"
    
    David Watzke avatar 30.6.2007 18:07 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    pole=($(sed 's: :\n:g' <<< "${pole[*]}" | sort -n))
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    30.6.2007 20:10 Martin Čížek | skóre: 20 | Praha
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    IFS=$'\n'
    pole=($(echo "${pole[*]}" | sort -n))
    IFS=$' \t\n'
    Kdyby dva z nás byli dvěma z nich, všichni z nás by mohli být všemi z nich.
    David Watzke avatar 30.6.2007 20:19 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    IFS=$'\n' pole=($(sort -n <<< "${pole[*]}"))
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    2.7.2007 08:38 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    $ perl -mString::Escape -le '($a = <>) =~ s/$//;print String::Escape::escape("printable", $a)' <<<"$IFS"
     \t\n
    $ pole=( 1 10 6 9 10 22 11 34 21 12 2 )
    $ IFS=$'\n' pole=($(sort -n <<< "${pole[*]}"))
    $ perl -mString::Escape -le '($a = <>) =~ s/$//;print String::Escape::escape("printable", $a)' <<<"$IFS"
    \n
    
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    2.7.2007 11:33 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    nie je chomp ($a = <>); bezpečnejšie ?
    2.7.2007 13:28 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    Bohužel :-(
    $ perl -mString::Escape -le '($a = <>) =~ s/$//;print String::Escape::escape("printable", $a)' <<<"$IFS"
     \t\n
    $ perl -mString::Escape -le 'chomp ($a = <>);print String::Escape::escape("printable", $a)' <<<"$IFS"
     \t
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    2.7.2007 13:52 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    hmm, to potom nerozumiem dôvodu, prečo tam máte ten regulárny výraz :-(
    2.7.2007 13:57 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    Heh, předtím mi tam lezly dvě \n za sebou a teď už to nedělá. Už nevím čí jsem.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    2.7.2007 14:01 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    Teď koukám, že to úplně spraví
    perl -mString::Escape=escape -le 'print escape("printable", scalar <>)' <<<"$IFS"
    Dnes nemám svůj den. Pointa byla v tom, že se to IFS nevrátí do default podoby.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    David Watzke avatar 2.7.2007 14:45 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    Pointa byla v tom, že se to IFS nevrátí do default podoby.
    Aha, to je divný. Dík za warning.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    2.7.2007 21:55 Petr
    Rozbalit Rozbalit vše Re: serazeni pole v bashi

    Tohle nejde, promenna IFS zustane nastavena na \n i dal. Jde ale pouzit subshell, treba takto:

    a=( $( IFS=$'\n'; echo "${a[*]}" | sort -n ) );

    wolf09 avatar 2.7.2007 10:08 wolf09 | skóre: 30
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    echo 1 3 7 17 7 | tr ' ' '\n' | sort -k1n | tr '\n' ' '
    Zkusili jste to vypnout a znovu zapnout ?
    2.7.2007 12:16 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    V pythonu (pokud je vstupem řetězec obsahující čísla oddělená mezerou).
    >>> pole="1 10 6 9 10 22 11 34 21 12 2".split()
    >>> pole_int = [int(x) for x in pole]
    >>> print sorted(pole_int)
    [1, 2, 6, 9, 10, 10, 11, 12, 21, 22, 34]
    
    Samozřejmě je příjemnější, když pole obsahuje rovnou čísla:
    >>> pole = [1, 10, 6, 9, 10, 22, 11, 34, 21, 12, 2]
    >>> pole.sort()
    >>> print pole
    [1, 2, 6, 9, 10, 10, 11, 12, 21, 22, 34]
    
    2.7.2007 12:29 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    google: python user defined sort
    uloha: v prvom príklade nepoužiť print_int :-)
    2.7.2007 13:25 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    Tak to mě ani nenapadne. Akorát by vznikla zase další "plodná" diskuse ohledně lambdy, efektivity, přehlednosti, počtu řádků, zbytečného volání int(), přístupu decorate-sort-undecorate a nakonec by si nějaký dobrák vzpomněl, že to vlastně není v bashi :-)
    2.7.2007 13:54 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    to ja len tak, že niekde používate metódy, niekde funkcie, niekde pretypovanie :-)
    2.7.2007 22:07 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: serazeni pole v bashi
    STFW: bash array sort

    1. http://tldp.org/LDP/abs/html/arrays.html v texte hľadať slovíčko bubble

    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.