Portál AbcLinuxu, 9. května 2025 05:51

Dotaz: Převod čísel v bash

11.12.2012 22:58 AleX
Převod čísel v bash
Přečteno: 321×
Odpovědět | Admin
Ahoj, když mám pole
NUM=(" 002 " " 007 " " 008 " " 009 " " 078 ")
jak můžu získat takové výsledky
echo "-${NUM[0]}-" # vypíše -2-
echo "-${NUM[1]}-" # vypíše -7-
echo "-${NUM[2]}-" # vypíše -8-
echo "-${NUM[3]}-" # vypíše -9-
echo "-${NUM[4]}-" # vypíše -78-
Našel jsem spoustu příkladů ale všechno má kód na půl stránky :-( Ví někdo? Díky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.12.2012 23:39 Kit
Rozbalit Rozbalit vše Re: Převod čísel v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejlépe asi tak, že odstraníš levostranné nuly, které nesou označení oktalového čísla.
12.12.2012 00:41 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Převod čísel v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
for i in {0..4}; do echo $[10#${NUM[i]// /}]; done
12.12.2012 09:46 l4m4
Rozbalit Rozbalit vše Re: Převod čísel v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
NUM=($(${NUM[@]}//0/))
12.12.2012 09:47 l4m4
Rozbalit Rozbalit vše Re: Převod čísel v bash
A než někdo napíše, že to nefunguje, na tazatelovo zadání to funguje :o)
12.12.2012 10:25 lada
Rozbalit Rozbalit vše Re: Převod čísel v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin

Jelikož mi nefungovalo ani jedno předchozí, tak jsem se jedním inspiroval a funguje mi toto:

for i in {0..4}; do echo "-${NUM[i]//[0 ]/}-";done

To jsem zvědavý kolik 'funkčních' variant se tady sleze.

12.12.2012 11:34 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Převod čísel v bash
Co konkrétně - kromě chybějících pomlček - vám na mém řešení nefungovalo? Mimochodem, zkusil jste si to své "řešení" použít třeba na "205"?
12.12.2012 18:28 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Převod čísel v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
Naprosto nesmyslně fčul používám 'bc', tak dám v tomto duchu radu:
echo "x=${NUM[0]}; print \"-\"; print x; print \"-\"" | bc
… jen na odlehčení ;-)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

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.