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 16:55 | Nová verze

    Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.

    |🇵🇸 | Komentářů: 0
    dnes 14:55 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    dnes 11:44 | Nová verze

    Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.

    Ladislav Hagara | Komentářů: 0
    dnes 02:11 | Nová verze

    Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Komunita

    Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | IT novinky

    Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.

    Ladislav Hagara | Komentářů: 12
    včera 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

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

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    24.8. 16:00 | IT novinky

    Řemínky pro Apple Watch, bezdrátová sluchátka nebo nabíjecí adaptéry. Takovou nabídku našli v uplynulých dnech příslušníci Celního úřadu v Liberci při kontrole kamenného obchodu na Náchodsku. Celkem zde zadrželi 3 035 kusů zboží podezřelého z porušování práv duševního vlastnictví. Pokud by se jednalo o originální výrobky, jejich hodnota by podle odhadu přesáhla 10,8 milionu korun.

    Ladislav Hagara | Komentářů: 11
    24.8. 14:11 | Nová verze

    Byla vydána verze 31.1 textového editoru GNU Emacs. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2500 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Zobrazení posledního znaku různě dlouhé proměnné

    7.2.2016 12:25 Pavel
    Zobrazení posledního znaku různě dlouhé proměnné
    Přečteno: 622×
    Zdravím. Chtěl bych se zeptat na to jak zobrazit poslední znak proměnné. Potřebuji totiž provádět dělení v bash a mít zobrazeno jedno desetinné místo.

    Příkaz bc použít nemohu, xbmc ho nezná. Na webu jsem našel možnost, že dělím o řád menším číslem a potom ve výsledku poslední číslici oddělím desetinnou čárkou.

    a=((500/3));echo ${a%?},${a: -1}

    Tento zápis funguje v Puppy, ale nikoliv v xbmc. Tam v té části ${a: -2} mi to napíše syntax error.

    Potřebuji za tou desetinnou čárkou zobrazit poslední číslici-znak z proměnné.

    Mohl by někdo poradit? Díky.

    Odpovědi

    Jendа avatar 7.2.2016 12:40 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné
    V příkladu ti chybí dolar a=$((500/3));echo ${a%?},${a: -1}.

    Tipuju, že v xbmc je jako shell Dash, který tuhle funkci nemá, nebo dokonce jenom busybox shell.

    Není to jenom tajné Ubuntu, že by to tam šlo doinstalovat?

    Do rozbitých systémů doinstalovávám do chrootu Debian.

    Taky by to šlo obejít pomocí a=$((500/3));echo ${a%?},`echo $a | rev | cut -c 1`
    7.2.2016 13:01 Pavel
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné
    Díky, ten dolar jsem zapomněl napsat do fóra, ale na xbmc byl.

    Zkoušel jsem to od tebe, ale

    vypíše mi to ty příkazy ne výsledek. Je to v apostrofech, neměly by tam být nějaké závorky?

    Jinak na xbmc nic doinstalovávat nechci (ani nevím jak), tohle potřebuji jen ke svému malému scriptíku.

    7.2.2016 12:47 sdddd
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné
    Zkus si zjistit, jaký shell je v xmbc. Řekl bych, že tam nebude bash, ale spíše dash. Pak se mrkni do manuálu nalezeného shellu, jaké jsou možnosti expanze proměnných. Konstrukce typu ${a:-1} bych řekl, že je specifická pro bash (otestovat na puppy to můžeš zavoláním dash).

    Možností jak to řešit je několik. Pokud máš štěstí, pak je na xmbc sed a nebo awk a jsi za vodou. Pokud ne, nebude potřeba si hrát s ${a%.} a printf.
    7.2.2016 13:04 Pavel
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné
    Sed tam je i awk, používám to ve scriptech.

    Nevíš jak to přesně napsat, aby to bylo na jedné řádce a oddělené desetinnou čárkou?

    7.2.2016 13:53 Pavel
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné
    Už to funguje pomocí sed, ale používám pomocné soubory .txt, ze kterých načítám první a druhý řádek. Ve výsledku jsou potom zobrazeny s desetinnou čárkou mezi nimi.

    a=$((500/3));echo ${a%?} > "/storage/Vypis1.txt"; echo $a > "/storage/Vypis2.txt";cat "/storage/Vypis2.txt" | tail -c 2 > "/storage/Vypis1.txt"

    echo $(sed -n "1p" '/storage/Vypis1.txt'),$(sed -n "2p" '/storage/Vypis1.txt')

    Nedalo by se trochu zjednodušit aby tam nemusely být ty soubory .txt??

    8.2.2016 09:05 deadmail
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné
    Na doplnenie znaku je mozne pouzit nahradenie SEDom:
    echo $a | sed -r 's/^(.*)(.)$/\1,\2/'
    8.2.2016 12:02 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné

    Máte nějaký důvod simulovat aritmetické operace pomocí řetězcových? Jinak by stačilo prostě

      a=$[500 / 3]
      echo "$[a / 10].$[a % 10]"
    
    8.2.2016 13:22 Pavel
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné
    Důvod je ten, že

    1) nemám potřebné znalosti

    2) ne všechno v xbmc funguje jako třeba v puppy

    Ten výraz echo $a | sed -r 's/^(.*)(.)$/\1,\2/' funguje a dostanu výsledek 16,6 v xbmc, u toho posledního příspěvku funguje pouze v puppy, v xbmc dostanu $[a / 10].$[a % 10]

    8.2.2016 14:37 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné

    Jestli vám funguje aritmetická expanze s tou $((...)) syntaxí na "500 / 3", měla by fungovat i na to druhé dělení. Přinejhorším by asi mělo projít

      echo $(($a / 10)).$(($a % 10))
    
    9.2.2016 11:47 Pavel
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné
    Díky za odpovědi.

    Bohužel ani tento výraz

    echo $(($a / 10)).$(($a % 10))

    v xbmc nefunguje, v puppy ano.

    Snažil jsem se níže uvedený výraz změnit z přesnosti z desetiny na setiny, ale nejsem toho schopen.

    echo $a | sed -r 's/^(.*)(.)$/\1,\2/' je přesnost na desetiny

    Jestli by to sem někdo mohl napsat, byl bych moc rád.Díky.

    10.2.2016 07:06 Pavel
    Rozbalit Rozbalit vše Re: Zobrazení posledního znaku různě dlouhé proměnné
    Podařilo se mi to vyřešit metodou pokus omyl.

    Kolik je v kulaté závorce teček, tolik je desetinných míst

    a=$((5139125898754/456879));echo $a | sed -r 's/^(.*)(...)$/\1,\2/' tři desetinná místa

    a=$((5139125898754/456879));echo $a | sed -r 's/^(.*)(....)$/\1,\2/' čtyři desetinná místa

    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.