diff options
-rwxr-xr-x | collect-tos-for-alpine-addressbook | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/collect-tos-for-alpine-addressbook b/collect-tos-for-alpine-addressbook new file mode 100755 index 0000000..937642c --- /dev/null +++ b/collect-tos-for-alpine-addressbook @@ -0,0 +1,41 @@ +#!/bin/bash + +sed ' + :a + N + s/\n\s\+/ / + ta + P + D +' tmp/header \ +| sed -n ' + s@^\(bcc\|Bcc\|BCC\|cc\|Cc\|CC\|To\|Reply-To\): @@ + T + :b + s@^\(\([^"]*"[^"]*"\)*[^"]*\),\s\+@\1\n@g + tb + p +' \ +| sed ' + s#^\(.*\S\)\s*<\(\S\+@\S\+\)>$#\2 \1# + t + /^\S\+@\S\+$/!d +' \ +| sort -uf \ +| while read -r email comment; do + printf '%s %s %s\n' \ + "${#comment}" \ + "$(echo "$comment" | base64 -w0)" \ + "${email}" +done \ +| sort -k3,3 -k1nr,1 \ +| uniq -f2 \ +| while read -r _ comment email; do + printf '\t%s\t%s\n' \ + "$( + printf '%s\n' "${comment}" \ + | base64 -d \ + | sed 's@^\(["'"'"']\)\(.*\)\1@\2@' + )" \ + "${email}" +done |