{"id":10609,"date":"2009-05-22T01:15:05","date_gmt":"2009-05-22T00:15:05","guid":{"rendered":"http:\/\/funrecycler.com\/?p=1547"},"modified":"2009-05-22T01:15:05","modified_gmt":"2009-05-22T00:15:05","slug":"awk-am-beispiel","status":"publish","type":"post","link":"https:\/\/funrecycler.com\/index.php\/2009\/05\/22\/awk-am-beispiel\/","title":{"rendered":"AWK am Beispiel"},"content":{"rendered":"<p>Ab und zu gibt es Situationen, in denen man Massendaten in andere Systeme importieren mu\u00df. Im ung\u00fcnstigstem Fall darf man dann auch noch dieses unter Windows bewerkstelligen, was auf den ersten Blick recht schwierig ist.\u00a0 Ich h\u00f6re es schon: Warum nimmst du nicht Excel ? Weil Excel bei wesentlich gr\u00f6\u00dferen Datenmengen einfach nach 64535 records in die Knie geht und die wei\u00dfe Fahne hisst.\u00a0 Unter Linux w\u00e4re die Wahl auf die Konsole und <a href=\"http:\/\/de.wikipedia.org\/wiki\/Awk\" target=\"_blank\" rel=\"noopener\">awk<\/a> gefallen. Aber unter Windows? Nat\u00fcrlich auch auf <a href=\"http:\/\/gnuwin32.sourceforge.net\/packages\/gawk.htm\" target=\"_blank\" rel=\"noopener\">awk f\u00fcr windows<\/a>.\u00a0 Kommen wir also mal zum eigentlichen Problem. Gegeben sind eine unendliche Zahl von Protokolldateien, die in eine MySQL DB importiert werden sollen, aber in der 2. Spalte das Datumsformat nicht richtig dargestellt wird. Ein Import ist also \u00fcber z.b. CSV nicht einfach m\u00f6glich.<br \/>\n<!--more-->Unter MySql sieht der Dateityp <code class=\"literal\">DATETIME als <\/code><code class=\"literal\">YYYY-MM-DD HH:MM:SS, aber das Quellformat ist DD.MM.YYYY HH:MM:SS also mu\u00df<br \/>\n<\/code><br \/>\nCSV Datei zum import fertig machen.<br \/>\n<span style=\"color: #339966;\">&#8222;SW_DZ&#8220;;&#8220;12.05.2009 15:21:24&#8243;;23;1;39945639861,1111<br \/>\n&#8222;$RT_DIS$&#8220;;&#8220;12.05.2009 15:21:53&#8243;;0;0;39945640196,7593<br \/>\n&#8222;SW_DZ&#8220;;&#8220;12.05.2009 15:22:26&#8243;;23;1;39945640578,7037<br \/>\n&#8222;SW_DZ&#8220;;&#8220;12.05.2009 15:23:26&#8243;;23;1;39945641273,1481<\/span><br \/>\nAufruf <strong>gawk -f convert.awk speed.csv<\/strong> unter Windows<br \/>\nHier nun das Script selbst:<br \/>\n<span style=\"color: #3366ff;\"><strong><br \/>\n# convert.awk<br \/>\n#<br \/>\nBEGIN \u00a0\u00a0\u00a0 {<\/strong><\/span><br \/>\n<strong><span style=\"color: #3366ff;\">FS = &#8222;;&#8220;<br \/>\n}<br \/>\n\/SW_DZ\/ {<br \/>\nprint\u00a0 ( $1 &#8222;;&#8220; substr($2,8,4) &#8222;-&#8220; substr($2,5,2) &#8222;-&#8220; substr($2,2,2) &#8220; &#8220; substr($2,13,8) &#8222;;&#8220; $3 &#8222;;&#8220;$4 &#8222;;&#8220;$5 $n)<br \/>\nn=n+$3<br \/>\n}<br \/>\nEND {<br \/>\n# Durchnitt<br \/>\n# print n\/FNR<br \/>\n}<\/span><br \/>\n<\/strong><br \/>\nund so sieht das Ergebnis aus.<br \/>\n<span style=\"color: #339966;\">&#8222;SW_DZ&#8220;;2009-05-18 06:00:22;25;1;39951250254,6296<br \/>\n&#8222;SW_DZ&#8220;;2009-05-18 06:01:22;25;1;39951250949,0741<br \/>\n&#8222;SW_DZ&#8220;;2009-05-18 06:02:23;25;1;39951251655,0926<br \/>\n&#8222;SW_DZ&#8220;;2009-05-18 06:03:24;25;1;39951252361,1111<br \/>\n&#8222;SW_DZ&#8220;;2009-05-18 06:04:24;25;1;39951253055,5556<br \/>\n&#8222;SW_DZ&#8220;;2009-05-18 06:05:25;25;1;39951253761,5741<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ab und zu gibt es Situationen, in denen man Massendaten in andere Systeme importieren mu\u00df. Im ung\u00fcnstigstem Fall<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,16],"tags":[349,1099,2117,2999],"class_list":["post-10609","post","type-post","status-publish","format-standard","hentry","category-kniffe-und-tricks","category-software","tag-awk","tag-gawk","tag-printf","tag-windows"],"_links":{"self":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/10609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/comments?post=10609"}],"version-history":[{"count":0,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/10609\/revisions"}],"wp:attachment":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/media?parent=10609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/categories?post=10609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/tags?post=10609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}