mutt-wizard/removeaccount.sh
2018-02-10 16:00:14 -07:00

40 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
muttdir="$HOME/.config/mutt/"
# This script will remove an account from ~/.offlineimaprc and the
# designated location in ~/.config/mutt/accounts.
# Feed the script the title of the account.
cat ~/.offlineimaprc | grep "^accounts =" | sed -e 's/accounts =\( \)//g;s/\(,\) /\n/g;' | nl --number-format=ln > /tmp/numbered
removeAccount() { sed -ie "
/Account $1]/,/Account/{//!d}
/Account $1]/d
s/ $1\(,\|$\)//g
s/=$1\(,\|$\)/=/g
s/,$//g
" ~/.offlineimaprc
rm "$muttdir"accounts/$1.muttrc
rm "$muttdir"credentials/$1.gpg
rm -rf "$muttdir"accounts/$1
echo $1 deleted. ;}
#/tmp/numbered
accounts=()
while read n s ; do
accounts+=($n "$s" off)
done < /tmp/numbered
choices=$(dialog --separate-output --checklist "Choose an email account to remove." 22 76 16 "${accounts[@]}" 2>&1 >/dev/tty)
clear
if [ -z "$choices" ];
then
clear
else
todelet=$(IFS="|"; keys="${choices[*]}"; keys="${keys//|/\\|}"; grep -w "${keys}" /tmp/numbered | awk '{print $2}')
for i in $todelet; do removeAccount $i; done
fi