toto není problém konkrétně Fedory, ale asi obecně všech Linuxů.
Ale dělám to ve Fedoře, proto se ptám tady.
Potřeboval bych pomocí sedu upravit textový soubor a to tak, že některé znakové skupiny bych rád nahradil nějakým znakem.
Konkrétně mám v souboru text:
Teplota oh$0159íva$010d vody solární oh$0159ev p$0159ední
a chci z toho udělat
Teplota ohřívač vody solární ohřev přední
(je to export z jistého software, který při exportu do csv nahradí některé diakritické znaky dolarem a číslem )
napsal jsem skript:
s/\$016f/ů/g
s/\$0159/ř/g
s/\$010d/č/g
spustil sed a výsledek je toto:
Teplota ohĹYívaÄM vody solární ohĹYev pĹYední
Podle gůglu je použití SEDu ve spojení s UTF-8 často diskutovaným problémem, ale řešení jsem nenalezl.
Pokud nahrazuji písmenama bez diakritiky, tak to funguje, jak jsem zamýšlel, ale přece jenom, dokumentace by neměla vypadat jak z počítače v roce 1980.
Nemáte někdo zkušenosti s UTF-8 při zpracování pomocí SEDu?
V čem se ten výsledek takto špatně zobrazuje? Pokud si to spustím v bashi v urxvt terminálu, tak mi to funguje jak má, stejně tak to správně sed cpe i do souboru. Nemáš někde špatně nastavené kódování?
Jinak +1 za perl.
A pro jistotu bych to dal do souboru, který už má kódování nastavené na utf-8.
V čem se ten výsledek takto špatně zobrazuje?
Pokud si to spustím v bashi v urxvt terminálu,
tak mi to funguje jak má, stejně tak to
Pro práci s txt soubory používám výhradně editor JOE v CLI, Leafpad v XFCE a KATE v KDE. Veškerý materiál v UTF-8.
S tím perlem to ještě bude husté, v životě jsem o něj nezavadil, tak netuším, kupříkladu jak tam dát těch vzorů povícero. Nu, snad na to přijdu.
A pro jistotu bych to dal do souboru, který už má kódování nastavené na utf-8.
Uf, tak už to funguje. To byl ten problém.
Ten soubor jsem ve Woknech nejprve natáhl do PSPadu a uložil natvrdo jako UTF-8.
Pak přebůtoval do Fedory a pustil SED, tak jako předtím.
A už je to správně.
No, on ten vyexportovaný soubor byl ve Win1250, jak jsem později zjistil, ně zmátlo, že jistý editor si jej automaticky z tohoto kódování převedl, i když měl očekávat UTF.
Ale ten PSPadový mezikrok není ani moc obtěžující, protože export je ze software Rockwell Studio 5000 a to je wokenní aplikace. Stejně to musím nejprve dát do PSPadu a nějaké věci z toho vykopat.