This repository has been archived on 2021-06-12. You can view files and clone it, but cannot push or open issues or pull requests.
maildedupe-zsh/maildedupe.zsh

32 lines
558 B
Bash
Executable File

#!/bin/zsh
fln=($@)
flc=(${fln})
fct="0"
typeset -A fls
for i in $flc; do
fls[$i]=$(grep -m 1 -ioP '(?<=^Message-ID\:\ \<).*(?=\>)' "$i")
fct=$(( ${fct} + 1 ))
printf '%.40s: %20s\r' 'Message-IDs collected' "${fct}/${#fln}" >&2
done
fct="0"
for k1 v1 in ${(kv)fls}; do
for k2 v2 in ${(kv)fls}; do
if [[ "$v1" == "$v2" ]] && [[ "$k1" != "$k2" ]]; then
echo "$k1 $k2"
printf 'Message-ID duplicate: %s\n' "$v1" >&2
fi
done
fct=$(( ${fct} + 1 ))
unset "fls[$k1]"
printf '%.40s: %20s\r' 'Message-IDs compared' "${fct}/${#fln}" >&2
done