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:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 0
    dnes 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    dnes 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

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

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 26
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

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

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (15%)
     (2%)
     (1%)
     (2%)
     (15%)
     (17%)
     (12%)
    Celkem 99 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Dotaz: serazeni pole v bashi

    30.6.2007 16:22 Petr
    serazeni pole v bashi
    Přečteno: 1803×
    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.