[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?
>
>