21 lines
594 B
Bash
21 lines
594 B
Bash
|
#!/bin/sh
|
||
|
|
||
|
function get_task_value {
|
||
|
echo "$task_data" | grep "^$1" | sed -E "s/^$1 +//"
|
||
|
}
|
||
|
|
||
|
ids=$(task limit:none recur | grep -E '^ +[[:digit:]].*[[:alpha:]].*[[:digit:]]$' | sed -E 's/^ +([[:digit:]]+) .*/\1/')
|
||
|
|
||
|
excluded_ids=$(for id in $ids
|
||
|
do
|
||
|
task_data="$(task $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/')
|
||
|
|
||
|
del_ids=$(for id in $excluded_ids $ids
|
||
|
do
|
||
|
echo $id
|
||
|
done | sort | uniq -u)
|
||
|
|
||
|
task $del_ids del
|