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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 1
včera 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 5
včera 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

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

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
včera 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
1.12. 15:16 | Komunita

Na GOG.com začal zimní výprodej. Řada zlevněných her běží oficiálně také na Linuxu. Hru Neverwinter Nights Diamond lze dva dny získat zdarma. Hra dle stránek GOG.com na Linuxu neběží. Pomocí návodu ji lze ale rozběhnout také na Linuxu [Gaming On Linux].

Ladislav Hagara | Komentářů: 1
1.12. 13:14 | Bezpečnostní upozornění

Byla vydána verze 2.7.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Řešeno je několik bezpečnostních problémů. Aktualizován byl především Tor Browser na verzi 6.0.7. Tor Browser je postaven na Firefoxu ESR (Extended Support Release) a právě ve Firefoxu byla nalezena a opravena vážná bezpečnostní chyba MFSA 2016-92 (CVE-2016-9079, Firefox SVG Animation

… více »
Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 759 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 280×
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.