iAdd working script extracting data from log - bitreich-memestats - Bitreich meme statistics and graphs. Err bitreich.org 70
hgit clone git://bitreich.org/bitreich-memestats git://hg6vgqziawt5s4dj.onion/bitreich-memestats URL:git://bitreich.org/bitreich-memestats git://hg6vgqziawt5s4dj.onion/bitreich-memestats bitreich.org 70
1Log /scm/bitreich-memestats/log.gph bitreich.org 70
1Files /scm/bitreich-memestats/files.gph bitreich.org 70
1Refs /scm/bitreich-memestats/refs.gph bitreich.org 70
1Tags /scm/bitreich-memestats/tag bitreich.org 70
1LICENSE /scm/bitreich-memestats/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit d08ff10b40479174b132e313726b406692972e35 /scm/bitreich-memestats/commit/d08ff10b40479174b132e313726b406692972e35.gph bitreich.org 70
hAuthor: Anders Damsgaard <anders@adamsgaard.dk> URL:mailto:anders@adamsgaard.dk bitreich.org 70
iDate: Fri, 17 Apr 2020 09:55:02 +0200 Err bitreich.org 70
i Err bitreich.org 70
iAdd working script extracting data from log Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i A Makefile | 9 +++++++++ Err bitreich.org 70
i A extract_memeuse.awk | 66 +++++++++++++++++++++++++++++++ Err bitreich.org 70
i Err bitreich.org 70
i2 files changed, 75 insertions(+), 0 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/Makefile b/Makefile /scm/bitreich-memestats/file/Makefile.gph bitreich.org 70
i@@ -0,0 +1,9 @@ Err bitreich.org 70
i+log = ~/.irssi/log/Freenode/\#bitreich-en.log Err bitreich.org 70
i+ Err bitreich.org 70
i+memeuse.tsv: extract_memeuse.awk $(log) Err bitreich.org 70
i+ awk -f extract_memeuse.awk $(log) > $@ Err bitreich.org 70
i+ Err bitreich.org 70
i+clean: Err bitreich.org 70
i+ rm -f memeuse.tsv Err bitreich.org 70
i+ Err bitreich.org 70
i+.PHONY: memeuse.tsv Err bitreich.org 70
1diff --git a/extract_memeuse.awk b/extract_memeuse.awk /scm/bitreich-memestats/file/extract_memeuse.awk.gph bitreich.org 70
i@@ -0,0 +1,66 @@ Err bitreich.org 70
i+#!/usr/bin/awk -f Err bitreich.org 70
i+# get timestamp, user, and tag from irssi log in default format Err bitreich.org 70
i+ Err bitreich.org 70
i+function extract_date(s) { Err bitreich.org 70
i+ gsub(/--- Day changed ... /, "", s); Err bitreich.org 70
i+ Err bitreich.org 70
i+ match(s, /[0-9][0-9]/); Err bitreich.org 70
i+ day = substr(s, RSTART, RLENGTH); Err bitreich.org 70
i+ Err bitreich.org 70
i+ match(s, /[0-9][0-9][0-9][0-9]/); Err bitreich.org 70
i+ year = substr(s, RSTART, RLENGTH); Err bitreich.org 70
i+ Err bitreich.org 70
i+ month = s; Err bitreich.org 70
i+ gsub(/.*Jan .*/, "01", month); Err bitreich.org 70
i+ gsub(/.*Feb .*/, "02", month); Err bitreich.org 70
i+ gsub(/.*Mar .*/, "03", month); Err bitreich.org 70
i+ gsub(/.*Apr .*/, "04", month); Err bitreich.org 70
i+ gsub(/.*May .*/, "05", month); Err bitreich.org 70
i+ gsub(/.*Jun .*/, "06", month); Err bitreich.org 70
i+ gsub(/.*Jul .*/, "07", month); Err bitreich.org 70
i+ gsub(/.*Aug .*/, "08", month); Err bitreich.org 70
i+ gsub(/.*Sep .*/, "09", month); Err bitreich.org 70
i+ gsub(/.*Oct .*/, "10", month); Err bitreich.org 70
i+ gsub(/.*Nov .*/, "11", month); Err bitreich.org 70
i+ gsub(/.*Dec .*/, "12", month); Err bitreich.org 70
i+} Err bitreich.org 70
i+ Err bitreich.org 70
i+function extract_user(s) { Err bitreich.org 70
i+ if (/<.*>/) { # regular message Err bitreich.org 70
i+ gsub(/.*<./, "", s); Err bitreich.org 70
i+ gsub(/>.*/, "", s); Err bitreich.org 70
i+ } else { # action Err bitreich.org 70
i+ gsub(/.*\* /, "", s); Err bitreich.org 70
i+ gsub(/ .*/, "", s); Err bitreich.org 70
i+ } Err bitreich.org 70
i+ return s; Err bitreich.org 70
i+} Err bitreich.org 70
i+ Err bitreich.org 70
i+function extract_tag(s) { Err bitreich.org 70
i+ match(s, /#.*/); Err bitreich.org 70
i+ s = substr(s, RSTART, RLENGTH); Err bitreich.org 70
i+ gsub(/ .*/, "", s); Err bitreich.org 70
i+ return s; Err bitreich.org 70
i+} Err bitreich.org 70
i+ Err bitreich.org 70
i+function extract_time(s) { Err bitreich.org 70
i+ match(s, /[0-2][0-9]:[0-5][0-9]/); Err bitreich.org 70
i+ return substr(s, RSTART, RLENGTH); Err bitreich.org 70
i+} Err bitreich.org 70
i+ Err bitreich.org 70
i+{ } Err bitreich.org 70
i+ Err bitreich.org 70
i+# update date for subsequent entries Err bitreich.org 70
i+/--- Day changed / { Err bitreich.org 70
i+ extract_date($0); Err bitreich.org 70
i+ n_days++; Err bitreich.org 70
i+} Err bitreich.org 70
i+ Err bitreich.org 70
i+# find tag in current line Err bitreich.org 70
i+/ #[A-Za-z0-9]+/ { Err bitreich.org 70
i+ if (! /< annna>/ && ! /#bitreich-en/) { Err bitreich.org 70
i+ printf("%s\t%s\-%s\-%s\t%s\t%s\t%s\n", Err bitreich.org 70
i+ n_days, year, month, day, Err bitreich.org 70
i+ extract_time($0), extract_user($0), extract_tag($0)); Err bitreich.org 70
i+ } Err bitreich.org 70
i+} Err bitreich.org 70
.
Response:
text/plain