Initial commit
This commit is contained in:
commit
8ab8b36a0a
|
@ -0,0 +1,34 @@
|
|||
#!/bin/zsh
|
||||
|
||||
zmodload zsh/stat
|
||||
|
||||
function ctime {
|
||||
zstat -F '%s' +ctime -- "$1"
|
||||
}
|
||||
|
||||
function mdate {
|
||||
local dfmt="$(grep -m 1 -ioP '(?<=^Date\:\ ).*' ${fls[1]})"
|
||||
date '+%s' -d "$dfmt"
|
||||
}
|
||||
|
||||
while read LINE; do
|
||||
fls=(${(s. .)LINE})
|
||||
|
||||
unset cts
|
||||
typeset -A cts
|
||||
cts[${fls[1]}]=$(ctime "${fls[1]}")
|
||||
cts[${fls[2]}]=$(ctime "${fls[2]}")
|
||||
|
||||
unset mds
|
||||
typeset -A mds
|
||||
mds[${fls[1]}]=$(mdate "${fls[1]}")
|
||||
mds[${fls[2]}]=$(mdate "${fls[2]}")
|
||||
|
||||
if [ "${#cts}" -ne 2 ]; then
|
||||
TMS=(${(nO)${(v)mds}})
|
||||
echo "${(k)mds[(r)${TMS[1]}]}"
|
||||
else
|
||||
TMS=(${(nO)${(v)cts}})
|
||||
echo "${(k)cts[(r)${TMS[1]}]}"
|
||||
fi
|
||||
done
|
|
@ -0,0 +1,31 @@
|
|||
#!/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
|
Reference in New Issue