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í
×
    včera 19:55 | IT novinky

    Americký výrobce čipů Intel propustí 15 procent zaměstnanců (en), do konce roku by jich v podniku mělo pracovat zhruba 75.000. Firma se potýká s výrobními problémy a opouští také miliardový plán na výstavbu továrny v Německu a Polsku.

    Ladislav Hagara | Komentářů: 8
    včera 17:33 | Komunita

    MDN (Wikipedie), dnes MDN Web Docs, původně Mozilla Developer Network, slaví 20 let. V říjnu 2004 byl ukončen provoz serveru Netscape DevEdge, který byl hlavním zdrojem dokumentace k webovým prohlížečům Netscape a k webovým technologiím obecně. Mozille se po jednáních s AOL povedlo dokumenty z Netscape DevEdge zachránit a 23. července 2005 byl spuštěn MDC (Mozilla Developer Center). Ten byl v roce 2010 přejmenován na MDN.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | Nová verze

    Wayback byl vydán ve verzi 0.1. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána nová verze 6.18 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově se lze k síti Tor připojit pomocí mostu WebTunnel. Tor Browser byl povýšen na verzi 14.5.5. Thunderbird na verzi 128.12.0. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    24.7. 14:33 | IT novinky

    Meta představila prototyp náramku, který snímá elektrickou aktivity svalů (povrchová elektromyografie, EMG) a umožňuje jemnými gesty ruky a prstů ovládat počítač nebo různá zařízení. Získané datové sady emg2qwerty a emg2pose jsou open source.

    Ladislav Hagara | Komentářů: 0
    24.7. 14:22 | Nová verze

    Byla vydána (𝕏) nová verze 25.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 25.7 je Visionary Viper. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    24.7. 13:33 | IT novinky

    Před 40 lety, 23. července 1985, společnost Commodore představila první počítač Amiga. Jednalo se o počítač "Amiga od Commodore", jenž byl později pojmenován Amiga 1000. Mělo se jednat o přímou konkurenci počítače Apple Macintosh uvedeného na trh v lednu 1984.

    Ladislav Hagara | Komentářů: 2
    24.7. 06:00 | IT novinky

    T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.

    Ladislav Hagara | Komentářů: 9
    23.7. 21:55 | Komunita

    Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).

    Ladislav Hagara | Komentářů: 2
    23.7. 21:22 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.65 svobodného multiplatformního webového serveru Apache (httpd). Řešena je bezpečnostní chyba CVE-2025-54090.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (29%)
     (26%)
     (5%)
     (5%)
     (5%)
     (2%)
     (2%)
     (27%)
    Celkem 132 hlasů
     Komentářů: 16, poslední včera 15:31
    Rozcestník

    Dotaz: Problém při přebodu na velké znaky

    25.10.2012 23:31 Martin
    Problém při přebodu na velké znaky
    Přečteno: 309×
    Ahoj, proč to není takto? # ČERVENÁ BARVA NENÍ TO PRAVÉ OŘECHOVÉ.
    VAR="Červená barva není to pravé ořechové."
    VAR="${VAR^^}"
    echo "$VAR" #Výsledek:  ČERVENá BARVA NENí TO PRAVé OřECHOVé.
    Díky

    Řešení dotazu:


    Odpovědi

    25.10.2012 23:47 NN
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Protoze diakritika ftw..
    25.10.2012 23:56 Martin
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Co je to ftw? jde to opravit? Dík
    26.10.2012 00:13 l4m4
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Opravit shell? To jistě lze, přeji příjemnou zábavu...

    Opravit ten převod? Tak především nedělat to v shellu. Elementární věci (jako uvedený český příklad, který je triviální) zvládnou i různé funkce toupper ve skriptovacích jazycích, např. Pythonu.
    26.10.2012 00:02 l4m4
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Protože to funguje jenom s ASCII.

    Pokud hledáš převod, který zvládá specifika různých jazyků, tj. řeší třeba ß → SS a podobné vychytávky, tak nehledej v parameter expansion shellu. Na to je zapotřebí pořádná knihovna pro práci s Unicode.
    26.10.2012 00:11 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Možná si vystačíš s:
    echo "Červená barva není to pravé ořechové." | tr 'a-zěščřžýáíéůúďťňóöëäĺôêâ' 'A-ZĚŠČŘŽÝÁÍÉŮÚĎŤŇÓÖËÄĹÔÊÂ'
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    26.10.2012 00:15 l4m4
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    A pak mu tam jako na potvoru někdo napíše ‚déjà vu‘...
    26.10.2012 00:25 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Píšu možná :)
    Ale není problém to doplnit, ale je to 1:1 v daném kódování…
    echo "Červená barva není to pravé ořechové. ‚déjà vu, " | tr 'a-zěščřžýáíéůúďťňóöëäïẅŵĺôêâîûàèìòùçœűőÿŷ' 'A-ZĚŠČŘŽÝÁÍÉŮÚĎŤŇÓÖËÏẄŴÄĹÔÊÂÎÛÀÈÌÒÙÇŒŰŐŸŶ'
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    26.10.2012 00:32 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Jo akdyby to někomu nešlo zkopírovat tak si odstraňte ŴẄ a ÎÏ tedy:
    echo "Červená barva není to pravé ořechové. ‚déjà vu, " | tr 'a-zěščřžýáíéůúďťňóöëäïĺôêâîûàèìòùçœűő' 'A-ZĚŠČŘŽÝÁÍÉŮÚĎŤŇÓÖËÏÄĹÔÊÂÎÛÀÈÌÒÙÇŒŰŐ'
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    26.10.2012 00:44 l4m4
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Já bych fakt použil něco trochu normálního. Python není zrovna na one-linery, ale přesto...
    echo 'Déjà vu, zďářící Eyjafjallajökulle!  Ну, погоди!' | python -c 'import sys; sys.stdout.write(sys.stdin.read().decode("utf-8").upper().encode("utf-8"))'
    
    26.10.2012 08:39 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    No to se neshodneme co je normální :), pokud tedy to není aplikace pro iconv, tak za normálnější považuji spíš něco jako:
    echo 'Déjà vu, zďářící Eyjafjallajökulle!  Ну, погоди!' | php -R 'echo mb_strtoupper($argn,"UTF-8");'
    
    A nebude tam ani znak navíc…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    26.10.2012 14:42 pavel
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    echo 'Déjà vu, zďářící Eyjafjallajökulle!  Ну, погоди!' |sed -e 's/\(.*\)/\U\1/'
    
    echo 'Déjà vu, z#á#ící Eyjafjallajökulle!  ##, ######!  ##, ######!' |awk '{ print toupper ($0) }'
    
    
    
    
    
    26.10.2012 14:57 l4m4
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    No vida, sed už to umí taky správně, to je příjemná zpráva.
    26.10.2012 15:23 Kit
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    AWK mě tím příjemně překvapilo, ale víc bych asi ocenil schopnost pracovat s CSV.
    26.10.2012 23:14 rubicon
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    gawk >4 má FPAT, s čímž se už dá lecjaké CSV zpracovat.
    26.10.2012 19:08 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    No vida.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    27.10.2012 08:32 deadmail
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    lepsie je pouzit prednastavene mnoziny podla nastaveni LC_LOCALE, LC_CTYPE alebo LC_ALL (samozrejme musia byt nastavene podla jazyka textu)
    echo "Červená barva není to pravé ořechové."| LC_ALL=cs_CZ tr '[:lower:]' '[:upper:]'
    
    27.10.2012 09:48 Kit
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Bylo by fajn, kdyby to fungovalo. Možná jen záleží na verzi tr.
    27.10.2012 15:41 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Mě to nefunguje nikde a bylo to první co mě napadlo :-)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    27.10.2012 16:16 Kit
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    To bude asi trest za to, že používáme Unicode :-)

    V PHP a sedu mi to jede OK. V Pythonu to vypadá trochu kostrbatě, ale jede to také. Příkaz tr asi ještě nebyl pro Unicode kompletně upraven.
    27.10.2012 17:06 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    No ono v tom PHP to není taky hezké, když to má být „správně“, můj komentář výše měl takový dovětek a měla to být „anekdota odborná“, ale nechytla se, toto už je delší :(.
    echo -e 'Déjà vu, zďářící Eyjafjallajökulle!  Ну, погоди!' |  php -r 'echo mb_strtoupper(stream_get_contents(fopen("php://stdin", "r")),"UTF-8");'
    
    To výše uvedené nezpracuje dobře řádkování, bo -R + $argn funguje dle dokumentace, ale nemusí to být na první pohled jasné.
    Viz:
    echo -e 'Déjà vu,\nНу, погоди!' | php -R 'echo mb_strtoupper($argn,"UTF-8");
    vs.
    echo -e 'Déjà vu,\nНу, погоди!' | php -r 'echo mb_strtoupper(stream_get_contents(fopen("php://stdin", "r")),"UTF-8");'
    Ale furt je to kulturnější než ta hadica :-).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    27.10.2012 10:50 kuli
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Pokud mám gnome-terminal nastavený na iso8859-2 a locale na cs_CZ.ISO8859-2, tak to funguje bez chyby. Když to přepnu na utf-8 a cs_CZ.UTF-8, tak to nepřevede některá písmenka (FC14):ČERVENÁ BARVA NENÍ TO PRAVÉ OŘECHOVÉ. x ČERVENá BARVA NENí TO PRAVé OřECHOVé.
    27.10.2012 16:27 l4m4
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Volala devadesátá léta, že chtějí 8859-2 zpátky...
    27.10.2012 16:37 Kit
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Volal Unicode, že chce postrčit tr dopředu.
    27.10.2012 18:06 l4m4
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    tr s Unicode normálně funguje, příklady viz výše.

    Pojmenované třídy jako [:lower:] a [:upper:] by byly k ničemu, protože by daly vzniknout dvěma neodpovídajícím si množinám znaků. Některé Unicode znaky nemají uppercase, některé nejspíš zase lowercase, tudíž převod mezi [:lower:] a [:upper:] by akorát tak rozesral text.
    27.10.2012 18:19 l4m4
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Možná bych to měl rozvést, aby nepřišel argument, že správný převod mezi upper a lowercase si má tr zařídit sám.

    Ze syntaxe použití tr toto není jeho funkce.

    tr pracuje s dvěma konkrétními, uživatelem zadanými množinami znaků. Třídy jako [:lower:] a [:upper:] jsou pomůcka, která může při převodu správně fungovat pouze, pokud vygenerují dvě odpovídající si množiny.

    Teď se tr snaží tvářit, že převod je něco jiného než třeba mazání s -d (při kterém by zjevně na rozdíl od převodu množina [:lower:] měla obsahovat všechna malá písmena, i když nemají odpovídající velké). To je IMO omyl, spíš by se měly povolit libovolné množiny, tj. např.
    tr '[:lower:][:upper:][:digit:]' '[:digit:][:lower:][:upper:]'
    by mezi sebou přeházelo číslice a [ASCII] písmena, což teď nesmyslně nelze.
    27.10.2012 18:22 Kit
    Rozbalit Rozbalit vše Re: Problém při přebodu na velké znaky
    Vyjmenovávat všechny možné znaky není řešení. Pokud některý znak nemá lowercase či uppercase, patří do obou sad nebo do žádné.

    Uvedená řešení pomocí tr považuji za nevyhovující. Raději bych pro tento účel použil jiný nástroj, se kterým takové potíže nejsou. Sed vypadá jako skvělá volba. Také proto, že nemusím chtít konvertovat celý soubor, ale jen některé části.

    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.