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í
×
    dnes 05:44 | IT novinky

    Společnost Purism stojící za linuxovými telefony a počítači Librem má nově v nabídce postkvantový šifrátor Librem PQC Encryptor.

    Ladislav Hagara | Komentářů: 3
    včera 18:00 | Nová verze

    VirtualBox, tj. multiplatformní virtualizační software, byl vydán v nové verzi 7.2. Přehled novinek v Changelogu. Vypíchnou lze vylepšené GUI.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).

    Ladislav Hagara | Komentářů: 4
    včera 12:44 | Zajímavý software

    Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    13.8. 11:55 | IT novinky

    Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.

    Ladislav Hagara | Komentářů: 5
    13.8. 04:33 | Bezpečnostní upozornění

    Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    13.8. 04:22 | Nová verze

    Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    12.8. 13:44 | Nová verze

    Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 0
    12.8. 13:00 | IT novinky

    Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování

    … více »
    Ladislav Hagara | Komentářů: 2
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (52%)
     (19%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (17%)
    Celkem 393 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    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.