我将如何删除 taskwarrior 中所有已完成的重复任务,直到某个日期?
我试过了:
task Nevena until:07/29/2014 uuids
列出那些在该日期之前落下的人,并收集他们的 ID,这样我就可以通过管道将它们删除命令,但我没有得到预期的结果。
我将如何删除 taskwarrior 中所有已完成的重复任务,直到某个日期?
我试过了:
task Nevena until:07/29/2014 uuids
列出那些在该日期之前落下的人,并收集他们的 ID,这样我就可以通过管道将它们删除命令,但我没有得到预期的结果。
我相信答案是删除父任务,然后将不再创建重复任务。您可以使用 显示所有父任务task all +PARENT
。例如:
$ task all +PARENT
ID St UUID Age Done Tags R Due Until Description
21 R 58e83c9b 1.7y R 2018-04-01 replace upstairs air filter
20 R f8b5b0db 1.7y [1] R 2018-04-01 replace upstairs air filter
我不知何故有两个重复的任务来做同一件事。我可以删除它们:
$ task delete 21
Delete task 21 'replace upstairs air filter'? (yes/no) yes
Deleting task 21 'replace upstairs air filter'.
Deleted 1 task.
$
$ task delete 20
Delete task 20 'replace upstairs air filter'? (yes/no) yes
Deleting task 20 'replace upstairs air filter'.
Deleted 1 task.
现在重复的任务不应该再出现了。
拉了一会儿头发后,我找到了答案(警告:此命令也可能删除不重复的任务):
task $(task uuids due.before:now) delete
成功了。
这行得通,因为无论日期是什么,已完成的任务在未来都没有截止日期,所以这个命令使我当前的新任务保持不变,并带有截止日期。
命令
task $(task uuids due.before:now +CHILD +COMPLETED) delete
应该做你想做的事。
基于@branquito 的回答。