[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Duvida simples - validando dados com awk
From: |
Andrea VB |
Subject: |
Duvida simples - validando dados com awk |
Date: |
Tue, 12 Jan 2010 08:46:43 -0200 |
Olá, pessoal!
Estou com um probleminha que acredito ser de simples solução, porém
não consigo alcançá-la...
Tenho em meu sistema alguns grupos "especiais", com GIDs maiores do
que 15000 e menores do que 15999 (tais grupos são utilizados em
projetos no Trac).
Cada usuário pertence a um ou mais grupos "especiais", mas também a
outros grupos (como 'users', 'voice' etc).
Cada grupo "especial" possui um diretório "/home/trac/$proj", mas isso
não ocorre com users, voice etc...
Eu preciso coletar informações sobre cada projeto para um determinado usuário.
Se o usuário joao está nos grupos users, wheel, projeto1, projeto2 e
novoprojeto, preciso coletar tais informações dos grupos projeto1,
projeto2 e novoprojeto.
Estou tentando resolver o problema com AWK, mas aceito outras soluções
(sed, bashismos, qq coisa que resolva).
O meu problema é que, embora eu consiga descobrir se o grupo está na
faixa de GID desejada, eu não consigo tratar a resposta... Alguém
poderia me ajudar com isso, por favor?
Segue abaixo o que eu tenho...
Muito obrigada,
Andrea VB
# considerem as variáveis $nome, $GID_MIN e $GID_MAX já definidas:
# $nome é um nome de usuário do sistema.
# GID_MIN = 15000, GID_MAX = 15999.
for proj in `groups $nome`
do
# descobrir se proj-id é maior do que 15000
# se sim, imprimir o nome do projeto (no awk) e depois verificar os tickets
getent group | grep $proj | awk -F: "{if ((\$3 >= $GID_MIN) &&
(\$3 <= $GID_MAX)) print \$1 }"
# ??? aqui mora meu problema
# o trecho abaixo (3 linhas) deve ser executado somente se o GID
estiver entre 15000 e 15999
tprojdb="/home/trac/"$proj"/db/trac.db"
echo "select id,status,summary from ticket where nome=='$nome'
and status!='closed';" | sqlite3 $tprojdb
echo ""
done
--
Andrea VB
Please, don't CC me when replying to me on the lists, and use BCC when
sending mass e-mails.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Duvida simples - validando dados com awk,
Andrea VB <=