[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Duvida simples - validando dados com awk
From: |
microbiu |
Subject: |
Re: [shell-script] Duvida simples - validando dados com awk |
Date: |
Tue, 12 Jan 2010 13:05:23 +0000 |
Bom dia!
Testei o que eu programei abaixo e funcionou:
ric@DESKTOPHOME:~$ cat nhanha.sh
# 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.
nome="eric"
GID_MIN="15000"
GID_MAX="15999"
for proj in `groups $nome | cut -d ":" -f2`
do
# descobrir se proj-id é maior do que 15000
# se sim, imprimir o nome do projeto (no awk) e depois verificar os
tickets
GROUPID=$(getent group | grep "^$proj:" | cut -d":" -f3)
# ??? aqui mora meu problema
# o trecho abaixo (3 linhas) deve ser executado somente se o GID
estiver entre 15000 e 15999
if [ $GROUPID -gt 15000 ] ;then
if [ $GROUPID -lt 15999 ]; then
tprojdb="/home/trac/"$proj"/db/trac.db"
echo "select id,status,summary from ticket where
nome=='$nome'
and status!='closed';" | sqlite3 $tprojdb
echo ""
fi
fi
done
sds
Eric
On Ter 12/01/10 08:46 , Andrea VB address@hidden sent:
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 Atividade nos últimos dias:
* Novos usuários [2] 3
Visite seu Grupo [3] Adicionar um novo tópico [4]
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de
programação, como perl, C etc. Quem insistir em não seguir esta
regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net [5]
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
http://yahoo.zap.com.br/imoveis/busca-de-imoveis-simples.aspx [6]"
target="_blank">Anuncie seu imóvel no Y!Imóveis e feche ótimos
negócios! [7]
Trocar para: Só Texto, Resenha Diária • Sair do grupo •
Termos de uso [8] .
[As partes desta mensagem que não continham texto foram removidas]
- Re: [shell-script] Duvida simples - validando dados com awk,
microbiu <=