Portál AbcLinuxu, 14. května 2025 01:11

Dotaz: Jak odstranit tecku ?

NbS avatar 2.8.2006 21:31 NbS | skóre: 26 | blog: Linux jako Linux ... vsude je neco jako /etc | Prague
Jak odstranit tecku ?
Přečteno: 100×
Odpovědět | Admin
#!/bin/bash

temp=$(digitemp_DS9097 -a | grep 'C:' | awk '{print $7}')

if (($temp>=29))
then
echo neco je v neporadku
else
echo je to ok
exit
fi
Musi to bejt blbost, ale uz jsem fakt vyflusanej ... z cidla me prichazi teplota ve tvaru priklad : $temp=25.56, jenze bash dokaze zpracovat jen tento format $temp=25,56. Jak by to slo obejit ?
Pan Bily byli bily strop, aby byl bily ... (Opravdu si myslite, ze je to spravne) ?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.8.2006 21:37 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ve skutečnosti bash umí pracovat pouze s celými čísly. Co vás mate, je skutečnost, že čárka je operátor v aritmetické expanzi (hodnotou výrazu 'A,B' je B).
2.8.2006 21:38 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Ještě dodám, že jinak by řešením bylo např. ${temp/./,}
NbS avatar 2.8.2006 21:45 NbS | skóre: 26 | blog: Linux jako Linux ... vsude je neco jako /etc | Prague
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
:( nefunguje
Pan Bily byli bily strop, aby byl bily ... (Opravdu si myslite, ze je to spravne) ?
2.8.2006 21:47 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Co nefunguje?
NbS avatar 2.8.2006 21:49 NbS | skóre: 26 | blog: Linux jako Linux ... vsude je neco jako /etc | Prague
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Upresnim, toto uz funguje a vysledek je s desetinnou carkou, jak ma byt :)
temp=$(digitemp_DS9097 -a | grep 'C:' | awk '{print $7}')
echo teplota je ${temp/./,}
ale podminka bere z vysledku jen to co je za ni, pr : u hodnoty 44,55 bere tu 55 grr
Pan Bily byli bily strop, aby byl bily ... (Opravdu si myslite, ze je to spravne) ?
2.8.2006 21:52 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Ale to přesně odpovídá tomu, co jsem vám vysvětlil hned v první odpovědi.
NbS avatar 2.8.2006 21:59 NbS | skóre: 26 | blog: Linux jako Linux ... vsude je neco jako /etc | Prague
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Bohuzel :) sakra musim kapnout na to aby to bralo, bo to udelam v perlu bo v necem uplne jinem :( ale diky
Pan Bily byli bily strop, aby byl bily ... (Opravdu si myslite, ze je to spravne) ?
2.8.2006 21:40 petr_p
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdyz od hlednu od toho, ze konstrukce (($temp>=29)) mi prijde podivna a muj bash ji nezkousne, tak by mohl byt problem v lokalizaci (LC_NUMERIC, LC_COLLATE?).
2.8.2006 22:08 lada
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
pokud jsou ta cisla porad stejne dlouha tak bych pomoci 'tr' odstranil tu tecku a pak provedl porovnani
#!/bin/sh temp=$(digitemp_DS9097 -a | grep 'C:' | awk '{print $7}'|tr -d '.') if [ $temp -le 2900 ] then
echo "mensi"
else
echo "ok"
exit
fi
NbS avatar 2.8.2006 22:15 NbS | skóre: 26 | blog: Linux jako Linux ... vsude je neco jako /etc | Prague
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Presne ted jsem na to kapl : if ((${temp/./}>=3000)) a facha to taky :)
Pan Bily byli bily strop, aby byl bily ... (Opravdu si myslite, ze je to spravne) ?
Josef Kufner avatar 2.8.2006 22:22 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Teda degradovat awk na cut...
#!/bin/sh
temp=$(digitemp_DS9097 -a | awk '$1 == "C:" {print ($7 * 100)}')
(asi ta podmínka bude chtít trošku upravit)
Hello world ! Segmentation fault (core dumped)
NbS avatar 2.8.2006 22:16 NbS | skóre: 26 | blog: Linux jako Linux ... vsude je neco jako /etc | Prague
Rozbalit Rozbalit vše Re: Jak odstranit tecku ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jeste jednou dekuji vsem
Pan Bily byli bily strop, aby byl bily ... (Opravdu si myslite, ze je to spravne) ?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.