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 17:44 | Zajímavý článek

    Jak si zobrazit pomocí Chrome a na Chromiu založených webových prohlížečích stránky s neplatným certifikátem? Stačí napsat thisisunsafe.

    Ladislav Hagara | Komentářů: 0
    včera 00:33 | Bezpečnostní upozornění

    V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.

    Ladislav Hagara | Komentářů: 8
    včera 00:22 | Komunita

    Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.

    Ladislav Hagara | Komentářů: 0
    19.7. 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    18.7. 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    18.7. 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 6
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (25%)
     (19%)
     (6%)
     (6%)
     (3%)
     (6%)
     (3%)
     (31%)
    Celkem 32 hlasů
     Komentářů: 4, poslední včera 16:33
    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: 235×
    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: 52 | 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: 52 | 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: 52 | 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.