Portál AbcLinuxu, 18. května 2025 16:30

Dotaz: BASH: Odstranění diakritiky

16.6.2012 17:13 Othelo
BASH: Odstranění diakritiky
Přečteno: 1989×
Odpovědět | Admin
Ahoj, jak můžu nahradit znaky s diakritikou v proměnné $var za znaky bez diakritiky? Díky

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.6.2012 17:27 Kit
Rozbalit Rozbalit vše Re: BASH: Odstranění diakritiky
Odpovědět | | Sbalit | Link | Blokovat | Admin
man recode, man iconv. Také by bylo dobré se zamyslet, jak vznikla proměnná $var. Často je totiž vhodné výstup programu neukládat do proměnné, ale rovnou odeslat rourou do konvertoru.
Řešení 1× (Radek Novacek)
16.6.2012 22:43 Ash | skóre: 53
Rozbalit Rozbalit vše Re: BASH: Odstranění diakritiky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Používám pro převod utf8 na ascii toto:
var_ascii=$(iconv -t ASCII//TRANSLIT -f UTF-8 <<<"$var")
pokud ve var nejsou nějaké nepěkné znaky jako třeba § tak to bude fungovat dobře.
rADOn avatar 20.6.2012 13:15 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: BASH: Odstranění diakritiky
Odpovědět | | Sbalit | Link | Blokovat | Admin
tr -cd 'a-zA-Z'
odstrani vsechny mimo zadanych znaku. Neni to tak hezke jako spravne prekodovani ale zato 100% spolehlivy.
"2^24 comments ought to be enough for anyone" -- CmdrTaco

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.