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 19:55 | Komunita

    Matthias Clasen z Red Hatu oznámil v diskusním listu vývojářů Fedora Linuxu, že tým Red Hat Display Systems se zaměří na Wayland a podporu HDR na Linuxu a přestane spravovat RPM balíčky pro LibreOffice. V další major verzi RHELu už LibreOffice nebude. Pokud se nenajde správce balíčků pro Fedora Linux, zůstane pouze LibreOffice ve Flatpaku.

    Ladislav Hagara | Komentářů: 0
    dnes 17:33 | IT novinky

    Na Steamu lze získat zdarma počítačovou hru Tell Me Why (ProtonDB). Na Epic Games Storu počítačovou hru Midnight Ghost Hunt (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    dnes 14:11 | IT novinky

    Společnost Meta představila (YouTube) brýle pro virtuální realitu Meta Quest 3. V prodeji budou na podzim a stát budou od 499,99 dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | Nová verze

    Byla vydána nová verze 2.41.0 distribuovaného systému správy verzí Git. Přispělo 95 vývojářů, z toho 29 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

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

    Organizace Apache Software Foundation (ASF) vydala verzi 18 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 00:11 | Nová verze

    Byla vydána verze 1.70.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Jako reakce na rostoucí obavy z vlivu korporací na vývoj Rustu a předložený návrh restriktivních zásad používání ochranných známek Rustu, byl nedávno představen komunitní fork Rustu se 100 % méně byrokracie: Crab (CrabLang).

    Ladislav Hagara | Komentářů: 8
    včera 21:55 | Zajímavý článek

    Oliver Smith z Canonicalu shrnuje základní vlastnosti „neměnné“ distribuce Ubuntu Core také ve srovnání s protějšky Chrome OS, Fedora Silverblue a MicroOS. Canonical připravuje desktopovou variantu Ubuntu Core vedle dosavadní serverové/embedded.

    Fluttershy, yay! | Komentářů: 0
    včera 13:33 | Upozornění

    Z aktualizovaného seznamu chyb (pdf) procesoru AMD EPYC 7002: #1474 - procesor se po 1044 dnech od posledního resetu zasekne [reddit].

    Ladislav Hagara | Komentářů: 22
    včera 13:00 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.22. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Zajímavý článek

    David Malcolm se ve svém příspěvku na blogu vývojářů Red Hatu rozepsal o vylepšeních statické analýzy (volba -fanalyzer) v GCC 13.

    Ladislav Hagara | Komentářů: 1
    Twitter (nejen pro příležitostné čtení)
     (83%)
     (5%)
     (12%)
    Celkem 41 hlasů
     Komentářů: 1, poslední dnes 14:54
    Rozcestník

    Dotaz: awk

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