
ml-exim at reisman
Apr 6, 2012, 9:10 AM
Post #1 of 1
(129 views)
Permalink
|
|
Expansion strings for processing maildirsize files
|
|
I've collected a set of expansion strings for processing Maildir++ maildirsize files directly within Exim without need for outside helper scripts. To test, put the expansion strings (including comments) into a file named "strings", create a local "maildirsize" file (sample data below), and enter the command: exim4 -be <strings Hopefully, the mailing list will find these useful. Steve Sample maildirsize file: 8388608S,1000C 6923289 971 12368 2 76575 3 96002 7 -184945 -12 -184945 -12 24087 1 24087 1 4021 1 3653 1 8739 1 24087 1 -40500 -4 -27740 -2 maildirsize expansion strings: # maildirsize file (using : as eol string) ${readfile{maildirsize}{:}} # first line of file ${sg{${readfile{maildirsize}{:}}}{:.*}{}} # maildir size quota ${sg{${sg{${readfile{maildirsize}{:}}}{:.*}{}}}{S.*}{}} # message count quota ${sg{${sg{${readfile{maildirsize}{:}}}{C.*}{}}}{[^,]*,}{}} # extract lines 2 though the end-of-file ${sg{${readfile{maildirsize}{:}}}{^[^:]*:}{}} # extract first number from lines 2+ ${sg{${sg{${readfile{maildirsize}{:}}}{^[^:]*:}{}}}{ [-0-9]*:}{:}} # sum of the numbers in the above list (cumulative size) # using "reduce" ${reduce{${sg{${sg{${readfile{maildirsize}{:}}}{^[^:]*:}{}}}\ { [-0-9]*:}{:}}}{0}{${eval:$value+$item}}} # using "eval" ${eval:${sg{${sg{${sg{${readfile{maildirsize}{:}}}{^[^:]*:}{}}}\ { [-0-9]*:}{:}}0}{:}{+}}} # extract second number from lines 2+ ${sg{${sg{${readfile{maildirsize}{:}}}{^[^:]*:}{}}}{[-0-9]+ }{}} # sum of the numbers in the above list (message count) # using "reduce" ${reduce{${sg{${sg{${readfile{maildirsize}{:}}}{^[^:]*:}{}}}\ {[-0-9]+ }{}}}{0}{${eval:$value+$item}}} # using "eval" ${eval:${sg{${sg{${sg{${readfile{maildirsize}{:}}}{^[^:]*:}{}}}\ {[-0-9]+ }{:}}0}{:}{+}}} -- ## List details at https://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
|