Update clean-tw.sh

Automated confirmation process when deleting multiple tasks
This commit is contained in:
Daniel Mowitz 2023-10-16 13:42:10 +02:00
parent c56f8995e1
commit 18aadb6673

View file

@ -5,18 +5,19 @@ function get_task_value {
} }
ids=$(task limit:none recur | grep -E '^ ?[[:digit:]].*[[:alpha:]].*[[:digit:]]$' | sed -E 's/^ ?([[:digit:]]+) .*/\1/') ids=$(task limit:none recur | grep -E '^ ?[[:digit:]].*[[:alpha:]].*[[:digit:]]$' | sed -E 's/^ ?([[:digit:]]+) .*/\1/')
excluded_ids=$(for id in $ids excluded_ids=$(for id in $ids
do do
task_data="$(task $id)" task_data="$(task $id)"
echo "$(get_task_value 'Parent task') $(get_task_value 'Description' | sed 's/ /_/g') $(get_task_value 'Due') $id" echo "$(get_task_value 'Parent task') $(get_task_value 'Description' | sed 's/ /_/g') $(get_task_value 'Due') $id"
done | sort | rev | uniq -f3 | rev | sed -E 's/.* ([[:digit:]]+)$/\1/') done | sort | rev | uniq -f3 | rev | sed -E 's/.* ([[:digit:]]+)$/\1/')
del_ids=$(for id in $excluded_ids $ids del_ids=$(for id in $excluded_ids $ids
do do
echo $id echo $id
done | sort | uniq -u) done | sort | uniq -u)
if [ ! -z "$del_ids" -a "$del_ids" != " " ] if [ ! -z "$del_ids" -a "$del_ids" != " " ]
then then
task $del_ids del { echo 'all'; yes n; } | task $del_ids del
fi fi