abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 06:00 | Humor

    Programovací jazyk HTML.

    Ladislav Hagara | Komentářů: 0
    včera 23:00 | Upozornění

    Podpora TORu v Debianu 11 Bullseye a 10 Buster byla ukončena. Doporučuje se přechod na Debian 12 Bookworm.

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

    Příkaz "opakuj donekonečna" je nově v rozporu s podmínkami používání ChatGPT. Příkaz vedl k prozrazení trénovacích dat [/.].

    Ladislav Hagara | Komentářů: 2
    včera 21:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 14.1. Podrobný přehled novinek v souboru NEWS. Vypíchnout lze podporu NO_COLOR a Debugger Adapter Protocol (DAP).

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

    Byla vydána verze 5.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    TuxClocker je Qt GUI nástroj pro monitorování a nastavování (přetaktovávání) hardwaru na Linuxu. Aktuální verze je 1.4.0. Z novinek lze vypíchnout monitorování využití AMD a NVIDIA VRAM nebo sledování spotřeby energie procesorů AMD a Intel.

    Ladislav Hagara | Komentářů: 0
    3.12. 09:44 | Komunita

    O víkendu (15:00 až 23:00) probíhá EmacsConf 2023, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy jsou k dispozici přímo z programu.

    Ladislav Hagara | Komentářů: 8
    2.12. 17:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek i s náhledy aplikací v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 3
    1.12. 21:55 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 20 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    1.12. 17:22 | Nová verze

    Desktopové prostředí Cinnamon, vyvíjené primárně pro distribuci Linux Mint, dospělo do verze 6.0. Seznam změn obsahuje především menší opravy a v říjnovém přehledu novinek v Mintu avizovanou experimentální podporu Waylandu.

    Fluttershy, yay! | Komentářů: 10
     (42%)
     (11%)
     (47%)
    Celkem 53 hlasů
     Komentářů: 1, poslední včera 22:13
    Rozcestník

    Dotaz: Nahrazení textu ve více souborech (UTF-16) pomocí SEDu

    Honza Balák avatar 29.3.2010 16:49 Honza Balák | skóre: 23 | blog: Jaxův linuxový zápisník | Předklášteří
    Nahrazení textu ve více souborech (UTF-16) pomocí SEDu
    Přečteno: 218×
    Příloha:
    Zdravím, mám tu několik souborů v kódování UTF-16 BE a potřebuju v nich nahrazovat části textu. Myslel jsem, že to půjde lehce, ale nejde :-(. sed -e 's/CD_Beer2 cd_Bee/cd_Bee cd_Bee/g' *con totiž neprovede nic. Ukázkový soubor je v příloze. Kde dělám chybu? Díky...
    <null>

    Řešení dotazu:


    Odpovědi

    29.3.2010 17:09 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Nahrazení textu ve více souborech (UTF-16) pomocí SEDu
    Použij rouru..
    29.3.2010 17:16 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Nahrazení textu ve více souborech (UTF-16) pomocí SEDu
    Asi takhle...
    cat vstup.con | iconv -f UTF16LE -t UTF8 | sed 's/CD_Beer2 cd_Bee/cd_Bee cd_Bee/g' | iconv -f UTF8 -t UTF16LE > vystup.con
    
    Honza Balák avatar 29.3.2010 17:19 Honza Balák | skóre: 23 | blog: Jaxův linuxový zápisník | Předklášteří
    Rozbalit Rozbalit vše Re: Nahrazení textu ve více souborech (UTF-16) pomocí SEDu
    Ale tohle mi nebude fungovat na více souborech...
    <null>
    29.3.2010 17:25 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Nahrazení textu ve více souborech (UTF-16) pomocí SEDu
    for f in soubor1 soubor2 ...; do
        iconv -f UTF16LE -t UTF8 <$f \
        | sed 's/CD_Beer2 cd_Bee/cd_Bee cd_Bee/g' \
        | iconv -f UTF8 -t UTF16LE \
        > tmp;
        mv tmp "$f";
    done
    Nebo je problém jinde?
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    Honza Balák avatar 29.3.2010 17:31 Honza Balák | skóre: 23 | blog: Jaxův linuxový zápisník | Předklášteří
    Rozbalit Rozbalit vše Re: Nahrazení textu ve více souborech (UTF-16) pomocí SEDu
    Tohle už by mohlo fungovat. díky
    <null>
    29.3.2010 17:27 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Nahrazení textu ve více souborech (UTF-16) pomocí SEDu
    Použij třeba find..

    Do háje člověče seznam se prosím krapet se základními unixovými utilitami a příkazy. Tohle jsou věci které se používají už mraky let. Tahle věc má desítky řešení. Můžeš si to udělat jako alias, napsat jako skript kterým pak budeš prohánět ty soubory. A já nevím co ještě..
    Řešení 1× (Honza Balák (tazatel))
    29.3.2010 17:18 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Nahrazení textu ve více souborech (UTF-16) pomocí SEDu
    Těch chyb je více:
    1. sed, stejně jako všechny ostatní unixové utility, nedokáže s UTF16 nijak speciálně pracovat - předpokládá že jeden znak je jeden byte
    2. Při normálním spuštění sed ze souboru jen čte a výsledek jen vypíše na standardní výstup (tj. soubor se nemění). Aby změny zapsal do každého jednotlivého souboru, je nutné uvést přepínač -i
    To druhé je celkem detail, ale to první bude docela problém - jedině provést konverzi do UTF-8 a pak zase nazpět. Pozor na BOM, aby se zachoval. Do implementace se mi momentálně nechce, navíc bude problém zda je k dispozici recode nebo iconv. A nebo python.

    Alternativní "řešení":
    sed -i 's/C\x00D\x00_\x00B\x00e\x00e\x00r\x002\x00 \x00c\x00d\x00_\x00B\x00e\x00e\x00/c\x00d\x00_\x00B\x00e\x00e\x00 \x00c\x00d\x00_\x00B\x00e\x00e\x00/g' *con
    Vyzkoušeno, funguje, ale je to hnus :-)
    Honza Balák avatar 29.3.2010 17:23 Honza Balák | skóre: 23 | blog: Jaxův linuxový zápisník | Předklášteří
    Rozbalit Rozbalit vše Re: Nahrazení textu ve více souborech (UTF-16) pomocí SEDu
    Tak hnus to je, ale jelikož to budu mít jako skript, tak by to nevadilo.
    <null>

    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.