shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Processamento de lista de tarefas


From: microbiu
Subject: Re: [shell-script] Processamento de lista de tarefas
Date: Tue, 20 Apr 2010 18:01:40 +0000

Testado: 

eric@NOTEERIC:~$ cat teste.txt
1. Projeto (risk: 6) (allocated to: Sicrano+Beltrano) (allocated by: Fulano)
1. Primeira tarefa (risk: 6) (allocated to: Sicrano+Beltrano) (allocated by: 
Fulano)
1. Primeira sub-tarefa (risk: 6) (allocated to: Sicrano)
2. Segunda sub-tarefa (risk: 6) (allocated to: Beltrano)
2. Segunda tarefa (risk: 6) (allocated to: Sicrano+Beltrano) (allocated by: 
Fulano)
1. Terceira sub-tarefa (risk: 6) (allocated to: Sicrano)
2. Quarta sub-tarefa (risk: 6) (allocated to: Beltrano)

eric@NOTEERIC:~$ cat teste.sh
#!/bin/sh

PROJETO="1"

while read i; do
#       echo $i
        ITEM=$(echo $i | cut -d " " -f1)
        LINHA=$(echo $i | cut -d " " -f2- | sed -e 's/(risk:/\t/g' -e 
's/(allocated [tb][oy]:/\t/g' -e 's/)//g')
        STRTAREFA=$(echo $i | cut -d "(" -f 1 | cut -d " " -f2-)
        if [ "${STRTAREFA}" = "Projeto " ]; then
                PROJETO=${ITEM}
                echo "${ITEM} ${LINHA}"
        else 
                if ! echo ${STRTAREFA} | grep -q sub-tarefa ; then 
                        echo "${PROJETO}${ITEM} ${LINHA}"
                        TAREFA=${ITEM}
                else
                        echo "${PROJETO}${TAREFA}${ITEM} ${LINHA}"
                fi
        fi
#sleep 2
done  < teste.txt

eric@NOTEERIC:~$ sh teste.sh
1. Projeto       6       Sicrano+Beltrano        Fulano
1.1. Primeira tarefa     6       Sicrano+Beltrano        Fulano
1.1.1. Primeira sub-tarefa       6       Sicrano
1.1.2. Segunda sub-tarefa        6       Beltrano
1.2. Segunda tarefa      6       Sicrano+Beltrano        Fulano
1.2.1. Terceira sub-tarefa       6       Sicrano
1.2.2. Quarta sub-tarefa         6       Beltrano
eric@NOTEERIC:~$ 


On Seg 19/04/10 22:09 , "Marcio Gil" address@hidden sent:
> Pessoal, tenho o seguinte problema para resolver:
> Estou tentando processar uma lista de tarefas gerada por uma
> ferramenta (Todolist), e o formato é o seguinte:
> 1. Projeto (risk: 6) (allocated to: Sicrano+Beltrano) (allocated
> by: Fulano)
> 1. Primeira tarefa (risk: 6) (allocated to: Sicrano+Beltrano)
> (allocated by: Fulano)
> 1. Primeira sub-tarefa (risk: 6) (allocated to: Sicrano)
> 2. Segunda sub-tarefa (risk: 6) (allocated to: Beltrano)
> 2. Segunda tarefa (risk: 6) (allocated to: Sicrano+Beltrano)
> (allocated by: Fulano)
> 1. Terceira sub-tarefa (risk: 6) (allocated to: Sicrano)
> 2. Quarta sub-tarefa (risk: 6) (allocated to: Beltrano)
> Repare que é uma árvore de tarefas. Preciso transformar isto numa
> tabela simples como essa:
> 1. Projeto 6 Sicrano+Beltrano Fulano
> 1.1. Primeira tarefa 6 Sicrano+Beltrano Fulano
> 1.1.1. Primeira sub-tarefa 6 Sicrano
> 1.1.2. Segunda sub-tarefa 6 Beltrano
> 1.2. Segunda tarefa 6 Sicrano+Beltrano Fulano
> 1.2.1. Terceira sub-tarefa 6 Sicrano
> 1.2.2. Quarta sub-tarefa 6 Beltrano
> Ou seja, extrair os campos da lista de tarefas e transformá-las em
> uma tabela com linhas e colunas separadas com tab.
> A parte de extrair com campos e sapara-los com TAB eu sei fazer, a
> dúvida é o primeiro campo, que o Todolist não gera com o número
> das
> tarefas e sub-tarefas concatenado, porém indica o nível da tarefa
> por meio de endentação.
> Alguém pode me dar uma luz de como fazer isso?
>          
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]