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í
×
    včera 21:44 | IT novinky

    Oficiální český státní eshop s elektronickými dálničními známkami nově najdete na edalnice.gov.cz. Doména gov.cz jasně potvrzuje, že jste na oficiálním státním webu [𝕏].

    Ladislav Hagara | Komentářů: 8
    včera 14:22 | Nová verze

    Byla vydána nová verze 4.8.0 interaktivního shellu fish (friendly interactive shell, Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    včera 12:00 | Nová verze

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem se nově stal čínský LineShine v Národním superpočítačovém centru v Šen-čenu (NSCS) s výkonem 2,198 exaFLOPS. Z prvního místa sesadil americký superpočítač El Capitan s výkonem 1,809 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 215 místo. Karolina, GPU partition klesla na 249. místo a Karolina, CPU partition na 475. místo.

    … více »
    Ladislav Hagara | Komentářů: 4
    23.6. 21:00 | IT novinky

    Zemřel průkopník videoherní hudby Bobby Prince (Wikipedie). Složil hudbu pro hry Wolfenstein 3D, Doom, Doom II, Duke Nukem II a Duke Nukem 3D.

    Ladislav Hagara | Komentářů: 8
    23.6. 15:55 | IT novinky

    Počítačová hra Operace Flashpoint (Arma: Cold War Assault) od společnosti Bohemia Interactive slaví 25 let. Při této příležitosti bylo publikováno bezplatné hratelné Arma: Cold War Assault Remastered Demo a na GitHubu byly zveřejněny zdrojové kódy.

    Ladislav Hagara | Komentářů: 0
    23.6. 12:22 | IT novinky

    Na trh v České republice přichází HP EliteBoard G1a. Jde o plnohodnotný AI počítač integrovaný přímo do těla klávesnice, tedy zařízení, které na první pohled vypadá jako minimalistická klávesnice, ale ve skutečnosti nahrazuje klasickou počítačovou jednotku.

    Ladislav Hagara | Komentářů: 19
    23.6. 10:55 | Nová verze

    V lednu bylo oznámeno, že desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. O víkendu byla vydána první preview verze.

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

    Minulý týden byl oficiálně vydán Android 17. Detaily na blogu a stránkách věnovaných vývojářům.

    Ladislav Hagara | Komentářů: 7
    22.6. 20:00 | IT novinky

    Dnes jde do prodeje zařízení Steam Machine. Steam Machine 512 GB za 1 039 EUR a Steam Machine 2 TB za 1 359 EUR. Do čtvrtka 25. června do 19:00 se lze zapsat na seznamy. Ty budou jednorázově náhodně slosovány, čímž bude určeno pořadí rezervací a čekacích listin.

    Ladislav Hagara | Komentářů: 21
    22.6. 14:44 | Nová verze

    Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.51.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek v oznámení o vydání a také na YouTube a PeerTube.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (2%)
     (16%)
     (26%)
    Celkem 1978 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: 721×
    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.