X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=scripts.git;a=blobdiff_plain;f=gma.sh;h=e266737f0ea54e14e61bcf592bd057c1b912059e;hp=8725acc97a884103faf0696a297cb2a51b371bf8;hb=ffe6c2b94c700aa9105a6c1b6a0b86853d74cd88;hpb=88cc045a5eecced9d8f71c2a8e0aef67a8d94368 diff --git a/gma.sh b/gma.sh index 8725acc..e266737 100755 --- a/gma.sh +++ b/gma.sh @@ -20,7 +20,7 @@ set -e function usage () { - echo "gma.sh [--body] [--subject|--from|--to|--fromto|--subject] []" + echo "gma.sh [--body] [--keepspam] [--subject|--from|--to|--fromto] []" } RESULT_MBOX="/tmp/gma" @@ -30,6 +30,12 @@ if [[ -z "${MAIL_ARCHIVE_DIR}" ]]; then exit 1 fi +if [[ $(which ionice) ]]; then + IONICE="ionice -c3" +else + IONICE="" +fi + HEADER_ONLY="-H" while [[ $1 ]]; do @@ -45,6 +51,10 @@ while [[ $1 ]]; do HEADER_ONLY="" ;; + "--intense") + IONICE="" + ;; + "--keepspam") KEEP_SPAM=1 ;; @@ -67,6 +77,9 @@ while [[ $1 ]]; do *) if [[ ${PATTERN} ]]; then + # If we already have the pattern to match in the + # message, get the new argument as a pattern for the + # filename if [[ ${FILE_PATTERN} ]]; then usage exit 1 @@ -88,7 +101,7 @@ if [[ -z "${PATTERN}" ]]; then fi [[ ${FILE_PATTERN} ]] || FILE_PATTERN="${MAIL_ARCHIVE_DIR}/*/*/*" -[[ ${SIZE_FILE_PATTERN} ]] || SIZE_FILE_PATTERN="${MAIL_ARCHIVE_DIR}/" +[[ ${SIZE_FILE_PATTERN} ]] || SIZE_FILE_PATTERN="${MAIL_ARCHIVE_DIR}" SIZE=$(\dus ${SIZE_FILE_PATTERN} | cut -f 1 -d" ") @@ -98,13 +111,13 @@ echo " writing result in ${RESULT_MBOX}" if [[ ${KEEP_SPAM} ]]; then - cat ${FILE_PATTERN} \ + ${IONICE} cat ${FILE_PATTERN} \ | pv -s ${SIZE} -p -t -e - \ | mboxgrep ${HEADER_ONLY} -i "${RE_PREFIX}${PATTERN}" > ${RESULT_MBOX} else - cat ${FILE_PATTERN} \ + ${IONICE} cat ${FILE_PATTERN} \ | pv -s ${SIZE} -p -t -e - \ | mboxgrep ${HEADER_ONLY} -i "${RE_PREFIX}${PATTERN}" \ | mboxgrep ${HEADER_ONLY} -v '^Subject:.*SPAM' > ${RESULT_MBOX}