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 04:22 | Komunita

    Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).

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

    Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové major verzi 4.0.0 - The Quattro Release. Videopředstavení na YouTube. Celý desktop shell byl přepsán do Quickshellu. Přidána byla podpora pluginů.

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

    Francouzská Ústavní rada zamítla zákaz používání sociálních sítí dětem mladším 15 let. Francouzská obdoba ústavního soudu uvedla, že opatření představuje nepřiměřený zásah do svobody projevu. Francouzský parlament zákaz schválil na konci července, začít platit měl od září. Šlo o první zákaz sociálních sítí pro děti v Evropě. Členové Ústavní rady se domnívají, že ustanovení „představuje zásah, který není přiměřený, nezbytný ani

    … více »
    Ladislav Hagara | Komentářů: 2
    14.8. 16:33 | Zajímavý projekt

    Open-source trackball Ploopy Adept má novou verzi nazvanou A+. Stále jde o symetrický desktopový trackball s šasi z 3D tiskárny a firmwarem QMK. Novinkami jsou dvojice tlačítek, jimiž půjde také otáčet, a volitelná opěrka ruky. Funkcionalita firmwaru je rozšířena o gesta, vrstvy a možnost konfigurace za běhu. Schémata a kód jsou jako obvykle na GitHubu. A+ půjde předobjednat za 99 CAD (bez dopravy a cla/DPH).

    |🇵🇸 | Komentářů: 4
    14.8. 14:33 | IT novinky

    Prusa Research představil nové modely svých 3D tiskáren: Prusa XL+, CORE One+ (Gen 2) a CORE One L+.

    Ladislav Hagara | Komentářů: 2
    14.8. 13:33 | Nová verze

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.64. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    14.8. 03:44 | Nová verze

    NVIDIA na konci ledna vydala v beta verzi nativního linuxového klienta své cloudové herní služby GeForce NOW. Včera oznámila ukončení beta verze a oficiální podporu Linuxu.

    Ladislav Hagara | Komentářů: 0
    14.8. 02:33 | Nová verze

    Byla vydána nová verze 3.5.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 33 zranitelností.

    Ladislav Hagara | Komentářů: 0
    14.8. 02:22 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 31 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
    13.8. 16:44 | IT novinky

    Firma IBM uvedla svůj první mikropočítač Personal Computer před 45 lety, v srpnu 1981. Základní konfigurace modelu 5150 za 1 565 tehdejších dolarů obsahovala desktop s Intel 8088 a 16KB RAM, Color Graphics Adapter a klávesnici. Právě klávesnice Model F/XT vybavené kapacitními spínači, vlivné a s převodníkem dodnes použitelné, připomíná sběratelský web Admiral Shark's Keyboards.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2393 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník


    Dotaz: AWK a csv- třídění do několika souborů

    4.12.2014 11:45 Fibi86 | skóre: 1
    AWK a csv- třídění do několika souborů
    Přečteno: 717×
    Zdravím, snažím se naučiti v AWK a řeším následující problém. Mám jeden csv soubor, který obsahuje mnoho řádků které se neustále plní. Já bych potřeboval řádky podle pole id překopírovat do nového souboru, přes který následně data nahraji do databáze.
    Příklad:
    Online.csv
    --------------- Karel,on,123456,id35,aaa
    Marek,off,12345,id27,bbb
    Karel,off,1232,id35,aaa

    Karel.csv
    ----------------
    on,123456,aaa
    off,1232,aaa

    Marek.csv
    ----------------
    off,12345,bbb
    V souboru Online.csv bych potřeboval zda by awk mohl překopírovaný řádek smazat, aby při dalším spuštění nedošlo k dupicitě. Děkuji všem GURU za radu. Fibi

    Odpovědi

    4.12.2014 12:00 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Jednodušší by bylo nestrkat data místo do souboru Online.csv, ale přímo do AWK. Nebudeš pak muset řešit žádné duplicity.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    4.12.2014 12:29 Fibi86 | skóre: 1
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů

    To by byla mozna nejlepsi cesta.

    V soucasne dobe pouzivam netcat ktery data nasloucha na udp portu:

    nc -l -p 10000 -u >/Onlene.csv
    Jak ho mohu prinutit do AWK?
    Diky
    Josef Kufner avatar 4.12.2014 12:38 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Jak moc chceš mít záznam dat spolehlivý?

    Jinak AWK můžeš napojit na netcat obyčejnou rourou: nc ... | awk ...
    Hello world ! Segmentation fault (core dumped)
    4.12.2014 12:45 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    nc -l -p 10000 -u | awk -F\, '{print $0 > $1}'
    
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    4.12.2014 13:03 Fibi86 | skóre: 1
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Díky, otestuji. Spolehlivost musí být bohužel 100%. Fibi
    4.12.2014 15:27 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    ... ale pouzivas netcat...
    4.12.2014 19:16 Fibi86 | skóre: 1
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Je teda něco lepšího? ;-)
    4.12.2014 20:25 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    napr. napisat si vlastny skript (v ktorom sa daju osetrit rozne vzniknute stavy) a pouzit sofistikovane nastroje, ktore zaistia jeho spustanie/vypinanie (ako bolo spomenute nizsie)...
    4.12.2014 20:40 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Na dekorace má času dost.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    5.12.2014 15:31 marek
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Dobry den.

    100% spolehlivost na UDP je protimluv!

    Pokud to ma byt spolehlive (je mozne alespon detekovat chybu), pak pouzijte TCP.

    Marek
    pavlix avatar 5.12.2014 15:40 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Myslím, že jak u UDP, tak u TCP především záleží na tom, jak se použije.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    5.12.2014 16:03 marek
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů

    V kontextu dotazu je podle me UDP zle, TCP hodne.

    Marek
    pavlix avatar 5.12.2014 16:42 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Jo, to rozhodně a při použití netcatu o to víc.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Josef Kufner avatar 5.12.2014 21:51 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    No, když se podívám na XMPP a jak vesele ztrácí zprávy (a XEP-0198 se dodnes používá jen málo). Ani to TCP to nezachrání.
    Hello world ! Segmentation fault (core dumped)
    pavlix avatar 6.12.2014 00:40 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Myslím, že už jsme se o tom bavili a že za za ztrácení zpráv TCP nemůže.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Josef Kufner avatar 6.12.2014 01:00 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    To netvrdím. To byla jen ukázka, že i "spolehlivý" protokol lze použít špatně.
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 4.12.2014 12:36 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Mazání není nijak jednoduché. Radši změň způsob práce s těmi daty.

    Předpokládám, že pokud by bylo snadné upravit generující program, aby rovnou zapisoval do databáze, netrápil by jsi se s CSV.

    Mimochodem, AWK neumí správně parsovat CSV, neboť tento formát je na něj příliš složitý a rozbije se to, jakmile se objeví složitější řetězce. CSV není jen o čárce jako oddělovači, ale i o uvozovkách.

    Pokud je soubor plněn způsobem "otevřít-připsat-zavřít", můžeš použít logrotate. Jednou za čas (např. 10 minut) nechat provést rotaci, tím se nová data odloží stranou a vyrobí se prázdný soubor pro budoucí data. Odložená data pak můžeš v klidu zpracovat na jeden průchod, aniž by se ti měnila pod rukama.

    Druhá možnost je nechat Online.csv sledovat pomocí tail -F a jeho výstup předat ke zpracování. Zde však hrozí, že se občas nějaký záznam ztratí, pokud se se souborem budou dít ošklivé věci, nebo bude jakkoliv narušen plynulý běh obou aplikací.
    Hello world ! Segmentation fault (core dumped)
    4.12.2014 13:02 Fibi86 | skóre: 1
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Děkuji za reakci. Přes nc bude na server chodit každých 5s řetězec, který naštěstí neobsahuje žádné příšernosti, max. Tečku, čísla a pár znaků. Následné zpracováni mám v plánu řešit přes mysqlimport, který data nahraje a poté by se soubor vyprázdnil např. z 1/3 aby nedošlo k nějakému úniku a znovuspuštění mysqlimport by duplicitu v databázi přeskočil. Bohužel není možné riskovat že se tam např. Jeden řádek nedostane. AWK zatím s exportem do databáze (přeformátováním cca 30ti sloupců) nemá problém. Zařízení které data posílá na server se bohužel nedá modifikovat. Fibi
    Josef Kufner avatar 4.12.2014 13:27 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    A proč nespustíš mysqlimport už na tom vzdáleném stroji? Nebo rovnou spouštět jen mysql s voláním uložené procedury, která to bude třídit dle potřeby.
    Hello world ! Segmentation fault (core dumped)
    4.12.2014 13:51 Fibi86 | skóre: 1
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Vzdálené zařízení je "blackbox" který pouze posílá daný řetězec na určitou ip.. Myslíš ten mysql spouštět tady na tom lokálním stroji? Díky Fibi
    Josef Kufner avatar 4.12.2014 15:30 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Aha, tak to je pak jiná.

    Namísto netcat bych použil inetd a nechal ho spouštět jednoduchý script, který rovnou předá data do mysql. Data se nebudou ztrácet, pokud script s nc zrovna upadne nebo se na něčem zdrží. Inetd bude držet posluchací socket trvale otevřený a obslouží toho tak daleko více a paralelně než nc, které je v tomhle spíš na jednorázové přenosy.
    Hello world ! Segmentation fault (core dumped)
    4.12.2014 20:16 Fibi86 | skóre: 1
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    A je možné mě "nakopnout" jak xinetd donutit spouštět onen script? Pátrám pátrám a zatím v tom plavu. Děkuji za radu.
    Josef Kufner avatar 4.12.2014 21:38 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    inetd a xinetd fungují tak, že poslouchají na socketu a jakmile přijde spojení, spustí obslužný script a data mu předají na stdin, odpověď pak předávají zpět z stdout. Je to tedy v podstatě velmi podobné klasickému CGI.

    Ty potřebuješ jen nastavit port, protokol a obslužný script. V klasickém inetd bude tvoje konfigurace vypadat asi nějak takto:
    10000 dgram udp nowait nobody /usr/local/bin/tvuj-script
    Pro xinetd to bude podobné, jen syntaxe se liší:
    service tvuj-script
    {
      port = 10000
      socket_type = dgram
      protocol = udp
      wait = no
      user = nobody
      server = /usr/local/bin/tvuj-script
      instances = 10
    }
    (Nezkoušel jsem, zda to funguje, ani to nepoužívám nijak často, takže tam asi bude třeba pár úprav.)
    Hello world ! Segmentation fault (core dumped)
    4.12.2014 23:42 Fibi86 | skóre: 1
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Tak zatim se mi dari sloucit par prikazu a chtel bych preci jen vyuzit AWK a tridit radky dle id pole do ruznych souboru. Ve finale vse otestuji pomoci inetd... Nekdo nejake tipy jak na to trideni? Dekuji
    5.12.2014 07:26 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Však v tom mém příkladu máš i třídění.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    5.12.2014 17:21 Fibi86 | skóre: 1
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    No ja bych spise potreboval syntaxi: pokud v poli c.4 bude id35, zapis radek do souboru Karel.csv... Diky za radu.
    5.12.2014 22:43 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    To už nevypadá tak elegantně, ale budiž:
    awk -F\,  'BEGIN { OFS = ","; }
        $4 ~ /id35/ { print $2, $3, $5 >> "Karel.csv"; next; }
        $4 ~ /id27/ { print $2, $3, $5 >> "Marek.csv"; next; }' < Online.csv
    
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.12.2014 20:26 Fibi86 | skóre: 1
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Super, funguje perfektne. Byla by jeste rada jak ten zkopirovany radek z prvniho souboru smazat? Soubor se stale plni a zbytecne zabira misto. Stacilo by teda radek "presunout". Diky
    8.12.2014 20:42 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    Však to pošli rovnou z trubky.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.12.2014 21:01 Fibi86 | skóre: 1
    Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
    To se mi právě nedaří :-(

    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.