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:00 | Bezpečnostní upozornění

    Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.

    Ladislav Hagara | Komentářů: 2
    dnes 03:33 | Zajímavý software

    Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na

    … více »
    NUKE GAZA! 🎆 | Komentářů: 1
    včera 18:22 | Nová verze

    Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

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

    Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Pozvánky

    Byl zveřejněn program konference Installfest 2026. Konference proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13. Vstup zdarma.

    Ladislav Hagara | Komentářů: 3
    včera 03:55 | Nová verze

    Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.

    Ladislav Hagara | Komentářů: 10
    17.3. 23:55 | Nová verze

    Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…

    Ladislav Hagara | Komentářů: 22
    17.3. 18:11 | Nová verze

    Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    17.3. 04:55 | Nová verze

    Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.

    Ladislav Hagara | Komentářů: 12
    17.3. 04:33 | Zajímavý projekt

    Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,

    … více »
    NUKE GAZA! 🎆 | Komentářů: 46
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (1%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1109 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    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: 572×
    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.