{"id":1296,"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 style=\"overflow-wrap:anywhere\">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\" style=\"overflow-wrap:anywhere\">awk<\/a> gefallen. Aber unter Windows? Nat\u00fcrlich auch auf <a href=\"http:\/\/gnuwin32.sourceforge.net\/packages\/gawk.htm\" style=\"overflow-wrap:anywhere\">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. <\/p>\n<p><!--more--><\/p>\n<p style=\"overflow-wrap:anywhere\">Unter MySql sieht der Dateityp <code>DATETIME als <\/code><code>YYYY-MM-DD HH:MM:SS, aber das Quellformat ist DD.MM.YYYY HH:MM:SS also mu\u00df<br \/>\n<\/code> CSV Datei zum import fertig machen. &quot;SW_DZ&quot;;&quot;12.05.2009 15:21:24&quot;;23;1;39945639861,1111 &quot;$RT_DIS$&quot;;&quot;12.05.2009 15:21:53&quot;;0;0;39945640196,7593 &quot;SW_DZ&quot;;&quot;12.05.2009 15:22:26&quot;;23;1;39945640578,7037 &quot;SW_DZ&quot;;&quot;12.05.2009 15:23:26&quot;;23;1;39945641273,1481 Aufruf <strong>gawk -f convert.awk speed.csv<\/strong> unter Windows Hier nun das Script selbst: <strong><br \/>\n# convert.awk<br \/>\n#<br \/>\nBEGIN \u00a0\u00a0\u00a0 {<\/strong> <strong>FS = &quot;;&quot;<br \/>\n}<br \/>\n\/SW_DZ\/ {<br \/>\nprint\u00a0 ( $1 &quot;;&quot; substr($2,8,4) &quot;-&quot; substr($2,5,2) &quot;-&quot; substr($2,2,2) &quot; &quot; substr($2,13,8) &quot;;&quot; $3 &quot;;&quot;$4 &quot;;&quot;$5 $n)<br \/>\nn=n+$3<br \/>\n}<br \/>\nEND {<br \/>\n# Durchnitt<br \/>\n# print n\/FNR<br \/>\n}<br \/>\n<\/strong> und so sieht das Ergebnis aus. &quot;SW_DZ&quot;;2009-05-18 06:00:22;25;1;39951250254,6296 &quot;SW_DZ&quot;;2009-05-18 06:01:22;25;1;39951250949,0741 &quot;SW_DZ&quot;;2009-05-18 06:02:23;25;1;39951251655,0926 &quot;SW_DZ&quot;;2009-05-18 06:03:24;25;1;39951252361,1111 &quot;SW_DZ&quot;;2009-05-18 06:04:24;25;1;39951253055,5556 &quot;SW_DZ&quot;;2009-05-18 06:05:25;25;1;39951253761,5741<\/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":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,8],"tags":[545,546,547,83],"class_list":["post-1296","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\/1296","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=1296"}],"version-history":[{"count":1,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/1296\/revisions"}],"predecessor-version":[{"id":2310,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/1296\/revisions\/2310"}],"wp:attachment":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/media?parent=1296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/categories?post=1296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/tags?post=1296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}