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 | Nová verze

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 1
    včera 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 5
    včera 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

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

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 5
    včera 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    3.6. 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    3.6. 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

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

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.6. 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 4
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1818 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: bash: porovnanie des. cisel

    8.3.2005 15:14 oron | skóre: 27
    bash: porovnanie des. cisel
    Přečteno: 709×
    a=2.56
    b=3.89

    potrebujem spravit podmienku
    if $a < $b; then
      echo "a < b"
    fi
    
    
    prosim vas ako ? najeko sa stale mocem dokola a nejde mi to ...?
    dik

    Odpovědi

    8.3.2005 15:19 Tomík Pařízek
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    man bash:

    "-gt" > "-lt" <

    atd...
    8.3.2005 15:28 oron | skóre: 27
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    porovnat cele cisla samozrejme viem,
    problem mam s des.cislom .... ?
    8.3.2005 15:32 Yeti
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    Bash neumí porovnávat desetinná čísla. Nehledě na to, že < je v shellu přesměrování. Použij zsh, awk, perl, ...
    8.3.2005 15:39 oron | skóre: 27
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    ano ... viem ze bash nevie robit s des. cislom ... skusam to pomocou bc, ale toto sa mi zda trocha divoke
    if [ $(bc << EOF
    $a < $b
    EOF
    ) -eq 1 ]; then
       echo "a < b"
    else
       echo "a > b" 
    fi
    
    
    9.3.2005 08:23 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    hmm, a co je na tom divného. Když holt nechceš použít něco pořádného, tak se nediv. Krom toho tvrďáci by použili dc.
    [ $(dc <<<"[1pq]sa$a $b>a0p") -eq 1 ] &&
      echo "a < b" ||
      echo "a > b"
    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é.
    9.3.2005 09:38 Yeti
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    Tvrďák použije sort ;-)
    function rnle() {
      test `echo -e "$1\\n$2" | sort -g | head -n 1` = $1
    }
    function rnge() {
      test `echo -e "$1\\n$2" | sort -g | head -n 1` = $2
    }
    
    9.3.2005 17:20 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    No mě to přijde proti dc moc easy, ale musím uznat, že je to drsnější co do plýtvání systémovými prostředky a na to mě moc neužije. Krom toho jsem se po dlouhé době donutil přečíst man dc a možnosti tohoto nástroje mě nadchly, takže odpříště všechno nepíšu v bashi, ale v dc ;-)
    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é.
    9.3.2005 18:22 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    A vůbec. Ještě jednou se snížím k bashi.
    rnlt() {
      if [ ${1:0:1} == '-' -a ${2:0:1} == '-' ]
      then
        rngt ${1:1} ${2:1}
        return $?
      fi
      IFS='.'
      a=($1)
      b=($2)
      [ ${a[0]} -lt ${b[0]} ] && return 0
      [ ${a[0]} -gt ${b[0]} ] && return 1
      i=0
      while :
      do
        [ -z "${a[1]:$i:1}" -a -n "${b[1]:$i:1}" ] && return 0
        [ -z "${b[1]:$i:1}" ] && return 1
        [ ${a[1]:$i:1} -lt ${b[1]:$i:1} ] && return 0
        let i++
      done
    }
    rngt() {
      if [ ${1:0:1} == '-' -a ${2:0:1} == '-' ]
      then
        rnlt ${1:1} ${2:1}
        return $?
      fi
      IFS='.'
      a=($1)
      b=($2)
      [ ${a[0]} -gt ${b[0]} ] && return 0
      [ ${a[0]} -lt ${b[0]} ] && return 1
      i=0
      while :
      do
        [ -n "${a[1]:$i:1}" -a -z "${b[1]:$i:1}" ] && return 0
        [ -z "${a[1]:$i:1}" ] && return 1
        [ ${a[1]:$i:1} -gt ${b[1]:$i:1} ] && return 0
        let i++
      done
    }
    Teda zatím to není úplně blbuvzdorné a používá se to.
    rnlt $a $b && echo 'a < b' || echo 'a >= b'
    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é.
    9.3.2005 19:04 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    Dělám snad někde chybu -- kromě toho, že neparsuji semilogaritmický tvar -- když to porovnávám jen
    function rnle() {
      [ ${1/.*} -lt ${2/.*} ] && return 0
      [ ${1/.*} -gt ${2/.*} ] && return 1
      if [ ${1:0:1} = '-' ]; then
        [ ! ${1#*.}0 \> ${2#*.}0 ]
      else
        [ ! ${2#*.}0 \> ${1#*.}0 ]
      fi
    }
    
    9.3.2005 19:36 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    Děláš:
    $ rnle 3.45 3.345 && echo OK
    OK
    $ rnle 3 3.345 && echo OK
    $
    Nicméně, když na to teď s odstupem koukám, tak je to fakt hnus, co takhle:
    rnle() {
      IFS='.'
      a=($1)
      b=($2)
      [ $a -lt $b ] && return 0
      [ $a -gt $b ] && return 1
      if [ ${a:0:1} == '-' ]
      then
        a[0]=${b[1]}
        b=${a[1]}
      else
        a=${a[1]}
        b=${b[1]}
      fi
      for((i=${#a};i<${#b};i++)); do a=${a}0; done
      for((i=${#b};i<${#a};i++)); do b=${b}0; done
      [ $a -ge $b ] && return 1
      return 0
    }
    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é.
    9.3.2005 19:56 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    V tom problém není, protože > porovnává lexikograficky. Jen jsem zaměnil větve té podmínky
    function rnle() {
      [ ${1/.*} -lt ${2/.*} ] && return 0
      [ ${1/.*} -gt ${2/.*} ] && return 1
      if [ ${1:0:1} = '-' ]; then
        [ ! ${2#*.}0 \> ${1#*.}0 ]
      else
        [ ! ${1#*.}0 \> ${2#*.}0 ]
      fi
    }
    
    9.3.2005 20:18 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    Musím uznat, že je to elegantní
    rnlt() {
      if [ ${1/.*} -ne ${2/.*} ]
      then [ ${1/.*} -lt ${2/.*} ]
      elif [ ${1:0:1} = '-' ]
      then [ ${1#*.}0 \> ${2#*.}0 ]
      else [ ${2#*.}0 \> ${1#*.}0 ]
    fi
    }
    Tak dnešní kontest jsi vyhrál ;-)
    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é.
    9.3.2005 19:36 Ja
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    Ja to mam podobne, i kdyz asi trochu prasacky ...
    function rnlt()
    {
            celacast_1=`echo $1|cut -d. -f 1`;
            descast_1=`echo $1|cut -d. -f 2`;
            celacast_2=`echo $2|cut -d. -f 1`;
            descast_2=`echo $2|cut -d. -f 2`;
            if [ $celacast_1 -eq $celacast_2 ]
            then
                    if [ $celacast_1 -lt 0 ]
                    then
                            descast_1=`expr -1 \* $descast_1`;
                            descast_2=`expr -1 \* $descast_2`;
                    fi
                    [ $descast_1 -lt $descast_2 ]&& return 0;
                    return 1;
            else
                    [ $celacast_1 -lt $celacast_2 ]&& return 0;
                    return 1;
            fi
    }
    
    9.3.2005 19:46 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    Stejnej problém jako Yeti, nestejně dlouhé desetiné části selžou. Nicméně, naučit se používat konstrukce typu ${variable#pattern}, ${variable%pattern} a používat IFS by ušetřilo hodně zbytečných subprocesů.
    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é.
    9.3.2005 19:51 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: bash: porovnanie des. cisel
    A to nemluvím o těch zbytečnejch echo.
    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é.

    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.