@@ -9,9 +9,11 @@ usage="Usage:
9
9
$0 list-to
10
10
$0 show-rand [from regex|to regex]
11
11
$0 email lockers...
12
- $0 purge-from address...
13
12
$0 purge-fullname fullnames...
14
- $0 purge-to lockers..."
13
+ $0 purge-from lockers...
14
+ $0 purge-from-re regexes...
15
+ $0 purge-to lockers...
16
+ $0 purge-to-re regexes..."
15
17
16
18
usage () {
17
19
echo " $usage " >&2 ;
@@ -120,6 +122,18 @@ purge_from() {
120
122
done
121
123
}
122
124
125
+ purge_from_re () {
126
+ if [[ $# -eq 0 ]]; then
127
+ echo " Please specify a regex to purge emails from" >&2
128
+ exit 1
129
+ fi
130
+ for re in " $@ " ; do
131
+ echo " $re "
132
+ mailq | tail -n +2 | grep -v ' ^ *(' | awk " BEGIN { RS = \"\" } (\$ 7 ~ \" $re \" ) { print \$ 1 }" | tr -d ' *!' | postsuper -d -
133
+ echo
134
+ done
135
+ }
136
+
123
137
purge_to () {
124
138
if [[ $# -eq 0 ]]; then
125
139
echo " Please specify a locker to purge emails to" >&2
@@ -133,6 +147,18 @@ purge_to() {
133
147
done
134
148
}
135
149
150
+ purge_to_re () {
151
+ if [[ $# -eq 0 ]]; then
152
+ echo " Please specify a regex to purge emails to" >&2
153
+ exit 1
154
+ fi
155
+ for re in " $@ " ; do
156
+ echo " $re "
157
+ mailq | tail -n +2 | grep -v ' ^ *(' | awk " BEGIN { RS = \"\" } (\$ 8 ~ \" $re \" && \$ 9 == \"\" ) { print \$ 1 }" | tr -d ' *!' | postsuper -d -
158
+ echo
159
+ done
160
+ }
161
+
136
162
op=${1:- }
137
163
138
164
# We want to go ahead and show the usage message if there are no args, so
@@ -145,9 +171,11 @@ case "$op" in
145
171
list-to) list_to;;
146
172
show-rand) show_rand " $@ " ;;
147
173
email) tmpl_email " $@ " ;;
148
- purge-from) purge_from " $@ " ;;
149
174
purge-fullname) purge_fullname " $@ " ;;
175
+ purge-from) purge_from " $@ " ;;
176
+ purge-from-re) purge_from_re " $@ " ;;
150
177
purge-to) purge_to " $@ " ;;
178
+ purge-to-re) purge_to_re " $@ " ;;
151
179
* )
152
180
usage
153
181
;;
0 commit comments