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 14:00 | Nová verze

    Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:33 | Nová verze

    Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).

    Ladislav Hagara | Komentářů: 0
    dnes 05:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

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

    Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).

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

    V Drupalu byla nalezena a opravena kritická zranitelnost SA-CORE-2026-004 (CVE-2026-9082). Útočník může provádět libovolné SQL dotazy na webech používajících databázi PostgreSQL.

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

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

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

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    19.5. 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    19.5. 19:00 | Nová verze

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1674 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: awk

    18.12.2009 17:05 jirikon
    awk
    Přečteno: 362×
    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.