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 23:22 | Nová verze

    Byla vydána verze 4.0 open source programu na kreslení grafů Veusz (Wikipedie). Přehled novinek v poznámkách k vydání. Proběhla portace na Qt 6.

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

    Dibuja je jednoduchý kreslící program inspirovaný programy Paintbrush pro macOS a Malování pro Windows. Vydána byla verze 0.26.0.

    Ladislav Hagara | Komentářů: 0
    31.5. 23:33 | Nová verze

    Byla vydána nová verze 9.13 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    31.5. 21:44 | Komunita

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

    Ladislav Hagara | Komentářů: 0
    31.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.22.0, tj. první z nové řady 3.22, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    30.5. 00:33 | IT novinky

    FEL ČVUT vyvinula robotickou stavebnici pro mladé programátory. Stavebnice Brian byla navržená speciálně pro potřeby populární Robosoutěže. Jde ale také o samostatný produkt, který si může koupit každý fanoušek robotiky a programování od 10 let, ideální je i pro střední školy jako výuková pomůcka. Jádro stavebnice tvoří programovatelná řídicí jednotka, kterou vyvinul tým z FEL ČVUT ve spolupráci s průmyslovými partnery. Stavebnici

    … více »
    Ladislav Hagara | Komentářů: 50
    29.5. 20:33 | Komunita

    Ubuntu bude pro testování nových verzí vydávat měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 25.10 (Questing Quokka).

    Ladislav Hagara | Komentářů: 0
    29.5. 14:55 | Nová verze

    Společnost Netgate oznámila vydání nové verze 2.8.0 open source firewallové, routovací a VPN platformy pfSense (Wikipedie) postavené na FreeBSD. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    29.5. 14:00 | Nová verze

    Byla vydána nová verze 6.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 14.5.3. Linux na verzi 6.1.140. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    29.5. 12:33 | Zajímavý článek

    Člověk odsouzený za obchod s drogami daroval letos ministerstvu spravedlnosti 468 kusů kryptoměny bitcoin, které pak resort v aukcích prodal za skoro miliardu korun. Darováním se zabývá policejní Národní centrála proti organizovanému zločinu (NCOZ). Deníku N to potvrdil přímo ministr spravedlnosti Pavel Blažek (ODS). Podle resortu bylo nicméně vše v souladu s právem.

    Ladislav Hagara | Komentářů: 59
    Jaký je váš oblíbený skriptovací jazyk?
     (56%)
     (31%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 172 hlasů
     Komentářů: 13, poslední 30.5. 12:26
    Rozcestník

    Dotaz: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu

    14.5.2011 15:52 jeleniste | skóre: 13 | blog: Prokustovo lože
    Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    Přečteno: 331×
    Mám následující problém, mám nějaký skript v awk, který třídí řádky do několika souborů. Akorát kódování je blbý a já bysem to rád pořídil s minimem ukládání na disk (je to velký).
    skript.sh < iconv -f ISO-8859-2 -t UTF-8 vstupnifajl
    nefunnguje
    iconv -f ISO-8859-2 -t UTF-8 vstupnifajl>skript.sh
    taky ne v tom awku je neco jako
    /patern/{.....;print $0 > "slozka/"file}..
    nesel by ten iconv nejak narvat do toho??? Dik Jelen
    Nejsem blbý, jen se hloupě ptám

    Řešení dotazu:


    Odpovědi

    Jakub Lucký avatar 14.5.2011 15:57 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    a nejde to protáhnout přes stdin/stdout ?

    iconv -f ISO-8859-2 -t UTF-8 vstupni | awk -f awkskript.awk

    If you understand, things are just as they are; if you do not understand, things are just as they are.
    14.5.2011 16:06 jeleniste | skóre: 13 | blog: Prokustovo lože
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    a
    iconv ... | ./skript.sh
    taky nedela co by mel..
    Nejsem blbý, jen se hloupě ptám
    14.5.2011 18:54 jeleniste | skóre: 13 | blog: Prokustovo lože
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    Jejda, tak tenhle dělá, co má dělat, zdá se.. Jsem si to před tim omylem přepsal, proto to nefungovalo. Díky a sory Jelen
    Nejsem blbý, jen se hloupě ptám
    Jakub Lucký avatar 14.5.2011 18:56 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    Tohle pochopitelně fungovat nebude, protože bashovský skript v defaultu nečte ze stdinu...

    Pokud je ten skript čisté AWK, pak to lze udělat tak jak jsem psal (spuštěním AWK interpretu a načtením skriptu do něj), pokud je to opravdu bash skript, pak bude potřeba ho upravit, aby četl stdin. Po řádkách lze celou věc udělat takto:
    #!/bin/bash
    IFS=`echo` #jinak se vám budou místo řádků dělit věci po mezerách...
    while read radek;do 
    #odteď je v proměnné $radek uložen jeden řádek. S tím lze dále operovat
    echo $radek 
    done #zakončení bloku while
    
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    14.5.2011 19:05 Kit
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    Takové konstrukci je lepší se v shellu vyhnout, protože je pomalá. Vždy je dobré se zamyslet, zda by místo cyklu šla použít nějaká funkce.
    Jakub Lucký avatar 14.5.2011 19:20 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    jo, to je pravda... Nějaký konkrétní návrh, jak v Bashi načítat stdin?
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    15.5.2011 12:51 Kit
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    Jesli se nepletu, tak problém je již vyřešen. Přesto odpovím.

    Bash je shell, je tedy určen především k volání jiných programů. V daném případě bylo jen potřeba spojit rourou programy iconv a awk. Cykly zůstaly uvnitř volaných programů, u kterých můžeme předpokládat, že jsou optimalizované. Rozhodně je toto řešení rychlejší, než cyklus v shellu.
    Jakub Lucký avatar 15.5.2011 14:31 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    Problém spočíval v něčem trochu jiném, neuvědomil jsem si, že Bash předá stdin pro skript prvnímu příkazu...
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    15.5.2011 12:12 jeleniste | skóre: 13 | blog: Prokustovo lože
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    iconv .... | bash skript
    funguje ve skriptu je
    gawk 'BEGIN{..} 
    /patern1/{print $0 >> file1}
    /patern2/{print $0 >> file2}
    adlib... '
    Nejsem blbý, jen se hloupě ptám
    15.5.2011 12:59 Kit
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    Stejně dobře by měl fungovat i tento zápis:
    iconv .... | gawk 'BEGIN{..} 
       /patern1/{print $0 >> file1}
       /patern2/{print $0 >> file2}
       adlib... '
    
    Chybu jsi měl jen v tom, že jsi použil '>' (přesměrování do souboru) místo '|' (přesměrování do jiného procesu)
    14.5.2011 17:30 NN
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    Co je v tom awk skriptu ?

    NN
    14.5.2011 18:42 jeleniste | skóre: 13 | blog: Prokustovo lože
    Rozbalit Rozbalit vše Re: Jak použít iconv na vstupu, výstupu, případně uvnitř awkovýho skriptu
    víceméně tohle akorát rozepsaný na asi 700 řádek, ono se s každym tim řádkem eště něco tropí, ale základ je tuto..
    Nejsem blbý, jen se hloupě ptám

    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.