Oi, Eric, muito obrigada, funcionou perfeitamente.
Eu estava tentando TANTO usar o awk que deixei passar que poderia haver uma solução mais direta. Abração! 2010/1/12 <[email protected]> > > Bom dia! > > Testei o que eu programei abaixo e funcionou: > > r...@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 [email protected] 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 <= $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. > > -- Andrea VB Please, don't CC me when replying to me on the lists, and use BCC when sending mass e-mails. ------------------------------------ --------------------------------------------------------------------- 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: [email protected] --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [email protected] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
