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 12:22 | IT novinky

    Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.

    Ladislav Hagara | Komentářů: 0
    dnes 08:22 | Bezpečnostní upozornění

    V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.

    Max | Komentářů: 3
    dnes 05:22 | Zajímavý článek

    Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být

    … více »
    Ladislav Hagara | Komentářů: 4
    včera 16:11 | Nová verze

    Byl vydán Mozilla Firefox 152.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 152 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    včera 14:11 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.7 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 16
    včera 11:44 | Komunita

    Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.

    Ladislav Hagara | Komentářů: 31
    včera 11:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Komunita

    V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Nová verze

    Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 02:00 | Nová verze

    Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1923 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 287×
    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.