Portál AbcLinuxu, 12. května 2025 05:41

Dotaz: vypis pouze hodnoty teploty hdd v bash

20.5.2007 17:13 kamil
vypis pouze hodnoty teploty hdd v bash
Přečteno: 324×
Odpovědět | Admin
Dobry den, snazim se dostat s vypisu ve formatu
/dev/sda: ST380815AS 35°C
prave jen to cislo 35 abych ho nasledne mohl prenest do grafu.Nejak se mi to ale nedari porad se se k tomu cislu zobrazuji znaky co jsou pred nebo za hodnotou 35.Vystup je stale stejny akurat ciselna hodnota se meni.Poradite mi prosim jak s toho vytahnout tu ciselnou hodnotu? Dekuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Michal Fecko avatar 20.5.2007 17:15 Michal Fecko | skóre: 31 | blog: Poznámkový blog
Rozbalit Rozbalit vše Re: vypis pouze hodnoty teploty hdd v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
awk a grep by to mohli zvladnut...
20.5.2007 17:18 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: vypis pouze hodnoty teploty hdd v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přečti si výstup programu 'hddtemp --help' a zařiď se podle něj (použij přepínač -n který vypisuje pouze číslo).
-- Nezdar není hanbou, hanbou je strach z pokusu.
21.5.2007 10:34 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: vypis pouze hodnoty teploty hdd v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj. Pomoci cut lze z radku vyjmout patricnou cast. Takze vic by ti mel poradit man cut. Akorat si nejsem jisty, jestli to nahodou neni interni prikaz bashe, ale asi ne ;-)

Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
Ondroid avatar 21.5.2007 11:42 Ondroid | skóre: 32 | blog: Hombre
Rozbalit Rozbalit vše Re: vypis pouze hodnoty teploty hdd v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jedna z mnoha možností :

echo "/dev/sda: ST380815AS 35°C" | cut -d " " -f3 | tr -d "°C"
21.5.2007 12:36 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: vypis pouze hodnoty teploty hdd v bash
Ach jo, proč to tak komplikovat? Ten výstup je generován programem hddtemp, který umí vypsat jen samotné číslo.
Obecný postup řešení je:
- zkusím zjistit zda se data nedají vyčíst ve vhodném formátu například z /procu nebo /sys
- zkusím přečíst manuál programu, jestli náhodou neumí vypisovat data v potřebném formátu
- zkusím najít vhodnější program
- zkusím data parsovat
-- Nezdar není hanbou, hanbou je strach z pokusu.
Ondroid avatar 21.5.2007 13:23 Ondroid | skóre: 32 | blog: Hombre
Rozbalit Rozbalit vše Re: vypis pouze hodnoty teploty hdd v bash
Já ti to neberu a částečně souhlasím. Odpovídám na jeho dotaz tak jak ho položil, hddtemp samozřejmě znám i jeho výstup ale v dotazu o něm nic není. Co když má už soubor plný dat ve formátu který napsal a chce ho teď nějak dál zpracovat...
22.5.2007 08:33 karel
Rozbalit Rozbalit vše Re: vypis pouze hodnoty teploty hdd v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tady je možnost, pokud chceš použít pouze příkazy bashe:
teplota="/dev/sda: ST380815AS 35°C"
teplota=${teplota%°C*}          # odřeže od konce řetězec "°C" + libovolný počet znaků
teplota=${teplota#*ST380815AS?} # zepředu odřeže vše včetně řetězce "ST380815AS" + 1 znak
22.5.2007 11:04 Ash | skóre: 53
Rozbalit Rozbalit vše Re: vypis pouze hodnoty teploty hdd v bash
Nebo i obecněji vyříznout číslo z ".... číslo°C....."
teplota="/dev/sda: ST380815AS 35°C"

teplota=${teplota%°C*}
teplota=${teplota##* }

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.