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:00 | Zajímavý článek

    Jiří Eischmann v příspěvku na svém blogu představuje typy, jak lépe chránit své soukromí na mobilním telefonu: "Asi dnes neexistuje způsob, jak se sledování vyhnout úplně. Minimálně ne způsob, který by byl kompatibilní s tím, jak lidé technologie běžně používají. Soukromí ovšem není binární věc, ale škála. Absolutního soukromí je dnes na Internetu dost dobře nedosažitelné, ale jen posun na škále blíže k němu se počítá. Čím méně dat se o vás posbírá, tím nepřesnější budou vaše profily a tím méně budou zneužitelné proti vám."

    Ladislav Hagara | Komentářů: 1
    dnes 00:22 | Nová verze

    Byla vydána nová stabilní verze 25.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Warbler. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Multiplatformní open source spouštěč her Heroic Games Launcher byl vydán v nové stabilní verzi 2.17.0 Franky (Mastodon, 𝕏). Přehled novinek na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 26 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | IT novinky

    Klávesnice IBM Enhanced Keyboard, známá také jako Model M, byla poprvé představena v roce 1985, tzn. před 40 lety, s počítači IBM 7531/7532 Industrial Computer a 3161/3163 ASCII Display Station. Výročí připomíná článek na zevrubném sběratelském webu Admiral Shark's Keyboards. Rozložení kláves IBM Enhanced Keyboard se stalo průmyslovým standardem.

    Fluttershy, yay! | Komentářů: 4
    včera 12:00 | Nová verze

    Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.

    Pavel Křivánek | Komentářů: 1
    včera 04:00 | IT novinky

    Java má dnes 30. narozeniny. Veřejnosti byla představena 23. května 1995.

    Ladislav Hagara | Komentářů: 7
    22.5. 21:55 | IT novinky

    1. července Mozilla vypne službu Fakespot pro detekci podvodných recenzí v internetových obchodech. Mozilla koupila Fakespot v květnu 2023.

    Ladislav Hagara | Komentářů: 1
    22.5. 21:33 | IT novinky

    8. července Mozilla vypne službu Pocket (Wikipedie) pro ukládání článků z webu na později. Do 8. října si uživatelé mohou vyexportovat data. Mozilla koupila Pocket v únoru 2017. Několik měsíců byl Pocket integrovanou součástí Firefoxu.

    Ladislav Hagara | Komentářů: 5
    22.5. 13:22 | Upozornění

    Turris OS má aktuálně problém s aktualizací související s ukončením podpory protokolu OCSP u certifikační autority Let's Encrypt.

    Ladislav Hagara | Komentářů: 4
    Jaký je váš oblíbený skriptovací jazyk?
     (58%)
     (27%)
     (6%)
     (3%)
     (0%)
     (0%)
     (5%)
    Celkem 93 hlasů
     Komentářů: 6, poslední 22.5. 14:43
    Rozcestník

    Dotaz: bash: porovnanie des. cisel

    8.3.2005 15:14 oron | skóre: 27
    bash: porovnanie des. cisel
    Přečteno: 683×
    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.