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 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

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

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 8
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    17.4. 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 1
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (20%)
    Celkem 557 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: awk

    18.12.2009 17:05 jirikon
    awk
    Přečteno: 331×
    Soubor "ga" obsahuje data typu:

    A1 COC(=O)C=C

    A2 CCOC(=O)C=C

    A3 CCCOC(=O)C=C

    Jak vytvořit soubory názvu 1.pole s obsahem 2. pole?

    Nereseni1:

    awk '{system("touch "$1"; echo "$2" > "$1) }' ga

    sh: -c: line 0: syntax error near unexpected token `('

    sh: -c: line 0: `touch A3; echo CCCOC(=O)C=C > A3'.

    Nereseni 2:

    awk '{system("touch "$1"; echo '"$2"' > "$1) }' ga

    probehne v poradu, ale prazdne soubory.

    Nereseni 3:

    awk '{system("touch "$1"; echo \'"$2"\' > "$1) }' ga

    ceka na dalsi instrukce.

    Řešení dotazu:


    Odpovědi

    wamba avatar 18.12.2009 18:00 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: awk
    v Awk se moc nevyznám ale experimentem jsem přišel na tohle

    awk '{system("echo \""$2"\">"$1) }'
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    18.12.2009 18:26 jirikon
    Rozbalit Rozbalit vše Re: awk
    Tak toto jsem skousel taky, ale asi jsem tam měl jeste jinou chybu, tak to nezafungovalo.

    Ted jsem si vzpomel ze je to nejspíš problem echo když je někde vnořené, uz jsem se s tim v minulosti setkal. Kdyby to někdo rozebral proč je v uvozovkach problem, rad bych se poučil.

    Diky
    18.12.2009 19:19 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: awk

    Zhruba následovně: Zaprvé příkaz awk system() očekává jako parametr řetězec dle zvyklostí awk. Retězce se spojují mezerou, výrazy $1 apod už není třeba dávat do uvozovek (viz manuál awk). Tento řetězec musí být zároven platným vstupem pro shell. V tomto případě je třeba hlavně "schovat" závorky z druhého sloupce. Navíc celý program awkčka je v jednoduchých uvozovkách a shell musí potkat první následující jednoduchou uvozovku až na konci celého programu. Pokud by bylo potřeba nacpat znak ' někam doprostřed, musí se budto celý awk kod dát do "" (což je ale dost nepraktické kvůli $), anebo ukončit dočasně ', tj.: 'program '"'"'pokracovani'.

    Tedy fungovat bude např.: awk '{system("echo \"" $2 "\">\"" $1 "\"");}' ga

    (touch je tam zbytečný, přesměrování si soubor vytvoří)

    18.12.2009 18:42 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: awk

    Volat kvůli tomu bash (tj. system()) je trochu zbytečné. Asi nejjednodušší řešení (a úplně bez uvozovek :-)) je toto: awk '{print $2>$1;}' ga

    Minimálně gawk umí šipkou či dvojšipkou přesměrovat příkaz print.

    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.