如何在Taskwarrior上用一个命令添加多个任务?

如何在Taskwarrior上用一个命令添加多个任务?

如何在一个命令行中添加多个任务任务战士

我想实现类似的目标:

task add task1 tag:tag1, task2 tag:tag2

我认为应该有一个分隔符来分隔任务。

答案1

如果您实际上只需要在一行中执行此操作,您可以这样做:

task add "Get some foo"; task add "Get some bar"

这仅使用;shell 本机的令牌。

答案2

不知道你是否还对此感兴趣。我创建了一个非常快速的 bash shell 脚本,非常适合我当时的目的。它会询问您是否要为任务设置项目或标签,然后快速创建多个新任务。使用了一些相当响亮的颜色组合,我想我当时才刚刚发现“echo -e”方法;o)

我今天在搜索并找到了你的帖子,因为我想开发脚本来执行依赖项,但看起来我可能必须学习 python;我还想做一些谷歌提醒同步。如果您找到了一个好的工具,那么我很高兴知道您选择了哪种解决方案。

克尔A


#!/bin/bash

#  Script:  twmulti
#  Created: 2016.02.11
#  Current: ~/Bin

#   clear the variables just in case a recent session set them
PRJNAME=""
TAGNAME=""
TSKNAME=""

clear

echo -e "\e[1;33;41mENTER PROJECT NAME >\e[0;m" 
read PRJNAME
if [ -z $PRJNAME ] ; then PRJNAME="" ; fi

echo -e "\n\e[1;33;41mENTER ANY TAG(S)  >\e[0;m" 
read TEMPTAGNAME
TAGNAME="+"`echo $TEMPTAGNAME | sed 's/ / +/g'`
if [ -z $TEMPTAGNAME ] ; then TAGNAME=""; fi

while :
do
    clear 
    echo -e "\e[1;33;41mENTER TASK DESCRIPTION (Project:$PRJNAME) >\e[0;m"
    echo -e "\e[1;33;41mor enter again to quit\e[0;m"
    read TSKNAME
        if [ -z $TSKNAME ] ; then exit ; fi 
        task add project\:$PRJNAME $TAGNAME $TSKNAME 1>/dev/null
    echo -e "\e[0;m"
done

答案3

正如@Sardathrion 在评论中指出的那样,这看起来像这样:

for i in "task 1" "task 2" "task 3"; do task add "$i"; done

答案4

希望这可以帮助某人,您可以用于task import这样的用例。来自task的手册页:

       task import [<file> ...]
              Imports tasks in the JSON format.  Can be used to add new tasks, or update existing ones.  Tasks are identified by their UUID.

              If no file or "-" is specified, import tasks from STDIN.

              Setting rc.recurrence.confirmation to an appropriate level is recommended if import is to be used in automated workflows.  See taskrc(5).

              For importing other file formats, the standard task release comes with a few example scripts, such as:

                import-todo.sh.pl
                import-yaml.pl

所以,你可以这样:

$ echo '[{"description":"task1"},{"description":"task2"}]' |task import -
Importing 'STDIN'
 add  bfc337ce-b446-453d-8cfe-c570bc1b5f03 task1
 add  556a737c-11f3-4a21-a872-67e56b75cdc4 task2
Imported 2 tasks.

当然,您可以根据需要添加任何属性(标签、项目、UDA 等)。 JSON 架构可在此处获取:https://taskwarrior.org/docs/design/task.html

要批量添加任务,您可以先创建一个包含所有信息的文件,然后将其提供给task,或者仅使用 Vim任务维基:)

相关内容