我该如何删除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
grep“ mask:”~/.task/pending.data
。 - Thomas Rebele