]> git.nbdom.net Git - nb.git/commitdiff
nb-mails
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 20 Feb 2015 13:26:18 +0000 (13:26 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 20 Feb 2015 13:26:18 +0000 (13:26 +0000)
etc/bashrc.function

index 8cc10cb09bf81c3a7c85d22875e303a7ee33e988..65f5c671af43f56faaeeb7c095818630a043f62b 100644 (file)
@@ -25,7 +25,32 @@ case "$OSTYPE" in darwin*)
 esac
 
 nb-mails() {
-  printf 'f *\nx\n' | mail |  perl -e '@_=<>; shift @_; print shift @_; print reverse @_'
+printf '| 1-$ cat\nx\n' | mail | perl -MDate::Manip -MEncode -MData::Dumper -ne '
+BEGIN { $SIG{__WARN__} = sub{ } }
+$. == 2 and print;
+/^From / .. /^$/ or next;
+chomp;
+if ($_ eq "") {
+  $h{From} =~ s/^.*?([^<\s]+@[^\s>]+).*?$/$1/;
+  $h{Date} = &UnixDate($h{Date},"%Y-%m-%d %H:%M");
+  if (0) {
+  $h{Date} =~ s/\s+[\+\-].*$//;
+  $h{Date} =~ s/,//;
+  $h{Date} =~ s/ (\d) / 0$1 /g;
+  }
+  $h{Subject} = decode("MIME-Header",$h{Subject});
+  push(@m,[
+    $h{From},
+    $h{Date},
+    $h{Subject},
+  ]);
+  %h = ();
+  next;
+}
+/^(Date|Subject|From): (.*)$/ and $h{$1} = $2;
+END { for (reverse @m) { printf "%20.20s | %16.16s | %s\n",@$_; }}
+'
+  #printf 'f *\nx\n' | mail |  perl -e '@_=<>; shift @_; print shift @_; print reverse @_'
 }
 
 nb-git-create() {