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

Byly zveřejněny informace o bezpečnostní chybě CVE-2017-6074 v Linuxu zneužitelné k lokální eskalaci práv. Jde o chybu v podpoře DCCP (Datagram Congestion Control Protocol). Do linuxového jádra se dostala v říjnu 2005. V upstreamu byla opravena 17. února (commit). Bezpečnostní chyba byla nalezena pomocí nástroje syzkaller [Hacker News].

Ladislav Hagara | Komentářů: 0
dnes 15:00 | Zajímavý software

Společnost Valve vydala novou beta verzi SteamVR. Z novinek lze zdůraznit oficiální podporu Linuxu. Další informace o podpoře této platformy pro vývoj virtuální reality v Linuxu v diskusním fóru. Hlášení chyb na GitHubu.

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

Po necelém roce od vydání verze 0.67 byla vydána verze 0.68 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešeny jsou také bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
včera 21:32 | Nasazení Linuxu

Canonical představuje nejnovější verzi chytré helmy DAQRI s Ubuntu pro rozšířenou realitu. K vidění bude příští týden v Barceloně na veletrhu Mobile World Congress 2017.

Ladislav Hagara | Komentářů: 0
včera 21:31 | Pozvánky

Pro zájemce o hlubší znalosti fungování operačních systémů připravila MFF UK nový předmět Pokročilé operační systémy, v rámci něhož se vystřídají přednášející nejen z řad pracovníků fakulty, ale dorazí také odborníci ze společností AVAST, Oracle, Red Hat a SUSE. Tento předmět volně navazuje na kurz Operační systémy ze zimního semestru, ale pokud máte praktické zkušenosti odjinud (například z přispívání do jádra Linuxu) a chcete si

… více »
Martin Děcký | Komentářů: 6
včera 21:30 | Pozvánky

Czech JBoss User Group Vás srdečně zve na setkání JBUG v Brně, které se koná ve středu 1. března 2017 v prostorách Fakulty Informatiky Masarykovy Univerzity v místnosti A318 od 18:00. Přednáší Tomáš Remeš a Matěj Novotný na téma CDI 2.0 - New and Noteworthy. Více informací na Facebooku a na Twitteru #jbugcz.

mjedlick | Komentářů: 0
20.2. 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 10
20.2. 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
20.2. 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 43
20.2. 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 29
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (71%)
 (4%)
 (10%)
Celkem 684 hlasů
 Komentářů: 65, poslední dnes 16:18
Rozcestník

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

4.12.2014 11:45 Fibi86
AWK a csv- třídění do několika souborů
Přečteno: 369×
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: 37 | 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
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: 66
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: 37 | 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
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: 35
Rozbalit Rozbalit vše Re: AWK a csv- třídění do několika souborů
... ale pouzivas netcat...
4.12.2014 19:16 Fibi86
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: 35
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: 37 | 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: 53 | 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.
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: 53 | 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.
Josef Kufner avatar 5.12.2014 21:51 Josef Kufner | skóre: 66
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: 53 | 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.
Josef Kufner avatar 6.12.2014 01:00 Josef Kufner | skóre: 66
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: 66
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
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: 66
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
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: 66
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
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: 66
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
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: 37 | 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
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: 37 | 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
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: 37 | 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
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.