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

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

Re: [shell-script] Comparando registros.


From: Alysson Gonçalves de Azevedo
Subject: Re: [shell-script] Comparando registros.
Date: Mon, 5 Mar 2012 16:46:08 -0300

$ cat arq.old
linha igual
linha velha
linha igual

$cat arq.new
linha igual
linha nova
linha igual

$ diff --changed-group-format='%>' --unchanged-group-format='' arq.new
arq.old
linha velho

Depois é só redirecionar a saída.

Tem um argumento do diff, --GTYPE-group-format=GFMT que funciona assim:
GTYPE pode ser old, new, changed, unchanged.
GFMT pode ser '%>' , '%<' ou '%=' (tem outras opções tb, mas vou ficar
nessas)

melhor do que eu explicar um por uma, é melhor vc ir testando e vendo os
resultados (é mais fácil usar apenas um argumento de cada vez) exemplo
abaixo.

$ diff --changed-group-format='%<' arq.new arq.old
linha igual
linha novo
linha igual
$ diff --changed-group-format='%>' arq.new arq.old
linha igual
linha velho
linha igual

Alysson Gonçalves de Azevedo
(11) 8491-7730




Em 5 de março de 2012 13:48, Valtoir <address@hidden> escreveu:

> Opa,
>
> Por acaso o erro não ocorre quando o registro é um hex? Se for, isso ocorre
> porque registros hex não são gravados entre aspas. Por isso aquela linha
>
> sed 's#\\#barra#g;/^$/d;s#=hex#=\"hex#' $1
>
> Detalhe: a linha acima só coloca as aspas no início do registro :-P, as
> aspas finais, no exemplo que te dei, são colocadas naquele else lá embaixo.
> Chamo essa técnica de e-gop, sigla para Extreme Gambiarra Oriented
> Programming. Ela não deve ser usada, estava com pressa quando escrevi. O
> ideal é usar o mesmo sed pra colocar as aspas finais.
>
> Alguém da lista com mais experiência em sed consegue te ajudar com isso
> (adequar o sed acima pra também colocar as aspas no final da linha).
>
> Vai repassando tuas experiências aí, o assunto me parece interessante. De
> qualquer forma, a (tentativa de) solução que te passei é meio maluca, mas
> talvez dê pra extrair alguma coisa dela,
>
> T+
>
> Valtoir
> Em 5 de março de 2012 13:17, Rodrigo Boechat <
> address@hidden> escreveu:
>
> > **
> >
> >
> > Júlio,
> > Obrigado pela resposta.
> >
> > O arquivo original não tem apenas duas ou três linhas de atributos,
> > abaixo do nome da chave.
> > Tem chave com 10 atributos...
> > Gostei da sua linha super simples, mas pra mim ficou complexo usá-la
> > numa situação dessas.
> > Também, em testes não consegui comparar os arquivos com um registro por
> > linha.
> >
> > - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
> > Alysson,
> > Obrigado pela resposta.
> >
> > No consegui usar o "diff" para comparação de linhas, somente o "comm".
> > talvez tenha sido meu cansaço mental... Bem. Você poderia citar um
> > exemplo com "diff" para criar o arquivo 3.txt com conteúdo que há em
> > 2.txt que não existe em 1.txt?
> >
> >
> > - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
> >
> > Robson,
> > Obrigado pela resposta.
> >
> > 1) Não é bem por aí... Eu trabalho em turno de revesamento.
> > Quando estou de 00h~08h, levo meu note para o trampo para ajudar passar
> > o tempo.
> > As vezes jogo, as vezes fico "shelleando", as vezes fico automatizando
> > planilhas de excel para o povo do adm... Essas coisas. ^_^"
> >
> > 2) Deu certo para o exemplo que passei, mas não para os arquivos de
> > registro.
> > Pesquisei e finalmente consegui entender o porque da bagaça não ter
> > funcionado.
> > Simples e complexamente, o raio do editor de registro do windows usa uma
> > codificação de caractere diferente do ISO. Usa o "utf-16le" aí deu muito
> > problema porque o as expressões com "^\[", por exemplo, não conseguiam
> > encontrar as linhas que começavam com "[".
> > Descobri esse comando abaixo:
> > $ file -i antes.reg
> > antes.reg: text/plain; charset=utf-16le
> >
> > Aí descobri como alterar a codificação de caractere:
> > $ iconv --from-code=utf-16le --to-code=UTF-8 antes.reg -o antes.utf8.reg
> >
> > Foi realmente complexo chegar nesse ponto, porque até eu lembrar da
> > possibilidade da codificação de caracteres, bati MUITA cabeça com
> > códigos, e mais códigos, e pesquisas, e pesquisas...
> > @_@
> >
> > Bem. No final das contas a solução de colocar as chaves e seus atributos
> > em uma única linha, não deu certo.
> > Infelizmente, quando executei o "comm" com os dois arquivos ele reclamou
> > que os arquivos não eram ordenados.
> > E até o dado momento, eu não consegui imaginar como ordenar igualmente
> > os dois arquivos, visto que um arquivo possui, por exemplo:
> > [A\MONTE\DE\COISA]
> > [C\MONTE\DE\COISA]
> >
> > E o outro:
> > [A\MONTE\DE\COISA]
> > [B\MONTE\DE\COISA]
> > [C\MONTE\DE\COISA]
> >
> > Desse jeito, mesmo usando o "sort" a coisa fica desordenada.
> > :(
> >
> >
> > - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
> >
> > Valtoir.
> > Obrigado pela resposta!
> >
> > Bom. Baseado no script que você criou para gerar o array, fiz um script,
> > mas quando eu o executo, ele apresenta erro nas linhas 31 e 41.
> >
> > http://pastebin.com/DkxY6a73
> >
> > $ ./diferencaRegistro.bash antes.reg usado.reg
> > ./diferencaRegistro.bash: linha 31: registroPadrao["$chavePadrao"]:
> > índice da matriz (array) incorreto
> > ./diferencaRegistro.bash: linha 41: registroUsado[$chaveUsada]: índice
> > da matriz (array) incorreto
> >
> > Até agora não consegui compreender o que eu fiz errado. E eu estou
> > evitando ao máximo realizar testes, já que o "antes.reg" tem 30,8MB!!!!
> > E o usado 40,2MB!!!! Olha que a única diferença de um pro outro é uma
> > instalação do Office2007.
> >
> > Hoje no meu zero hora eu testarei o seu script e estudarei um jeito de
> > aplicá-lo na comparação, caso o meu não tenha salvação.
> >
> > Grato a todos,
> > Rodrigo Boechat
> >
> > Em 29-02-2012 18:31, Valtoir escreveu:
> >
> > > Mais uma coisa: para listar o conteúdo dos arrays, rode a linha abaixo:
> > >
> > > grep ^declare gerarray.sh | sed 's/declare -A /echo \$\{/;s/$/[@]}/'>>
> > > gerarray.sh
> > >
> > > e depois rode o script gerarray.sh
> > >
> > > Valtoir
> > >
> > > Em 29 de fevereiro de 2012 18:03, Valtoir<address@hidden
> > >escreveu:
> > >
> > >> Boa tarde,
> > >>
> > >> Salve o script a seguir, depois rode-o passando como parâmetro o
> arquivo
> > >> de registro. Ele deve criar um outro script chamado gerarray.sh com os
> > >> comandos para gerar os arrays.
> > >>
> > >> Rode por sua conta e risco ;-)
> > >>
> > >> ----------------------------------------------------------
> > >> #/bin/bash
> > >> rm gerarray.sh
> > >> rm lixo
> > >> sed 's#\\#barra#g;/^$/d;s#=hex#=\"hex#' $1>> lixo
> > >> while read linha; do
> > >> if [ $(echo $linha | grep "^\[") ]; then
> > >> chave=$(echo $linha | grep "^\[.*\]" | sed 's#\[##;s#]##')
> > >> echo "declare -A $chave">> gerarray.sh
> > >> else
> > >> echo $linha | grep -v "\"$"&& linha=${linha}\"
> > >> echo ${chave}$( echo ${linha} | sed 's#^\"#[#;s#\"#]#')>>
> > >> gerarray.sh
> > >> fi
> > >> done< lixo
> > >> chmod +x gerarray.sh
> > >>
> > >> ----------------------------------------------------------
> > >>
> > >> Antes que esqueça, ele substitui as contrabarras das chaves de
> registro
> > >> pela string "barra", já que a contrabarra em si gera erro ao tentar
> > criar
> > >> os arrays.
> > >>
> > >> T+
> > >>
> > >> Valtoir
> > >>
> > >>
> > >> Em 29 de fevereiro de 2012 11:41, Robson Alexandre<
> > >> address@hidden> escreveu:
> > >>
> > >> **
> >
> > >>>
> > >>> Rodrigo,
> > >>> deixe-me fazer algumas considerações antes de expor meu ponto de
> vista.
> > >>> 1º Dormir pra quê, não é mesmo. Vc me manda msg as 4:05 da manhã de
> > >>> uma madrugada de sexta pra sábado (Deve ter chegado da balada e
> > >>> enviado o email.).
> > >>> 2º Acredito que seu arquivo exemplo veio com as quebras de linha
> > >>> desconfiguradas graças ao gmail.
> > >>> Assim fica minha dúvida:
> > >>> As chaves dos registros começam com [HKEY...] e termina com \n\n?
> > >>> Partindo deste princípio podemos aplicar esse sed :
> > >>>
> > >>> sed -n 's/\[/}\n\[/g;$s/$/\n}/;p' $REG | sed -n
> > >>> '/\[/{:inicio;/}/!{N;binicio};s/\n//g;s/}//g;p}'
> > >>>
> > >>> Então coloquei no pastebin do jeito que acho que a formatação do
> > >>> arquivoo de registro deve estar
> > >>> http://pastebin.com/YjQ5dQMi
> > >>>
> > >>> Acredito que deve haver solução mais simples, mas o fator tempo não
> > >>> deixou aperfeiçoar a solução.
> > >>> A partir dai vc pode colocar [Registro]=Atributos,Atributos da forma
> > >>> como vc achar conveniente.
> > >>> Eu estava esperando a solução com arrays, pois pretendo aplicá-la em
> > >>> outro problema, por exemplo quando vc tem um csv e pra cada campo
> > >>> separado por ; vc quer atribuir uma variavel deum vez só e não
> fazendo
> > >>> infinitos cut -f -d pra cada variavel.
> > >>> Bom, veja ai e diga-nos o que acha.
> > >>>
> > >>> Att
> > >>> Robson Alexandre
> > >>>
> > >>> Em 26 de fevereiro de 2012 15:19, Julio C. Neves
> > >>> <address@hidden> escreveu:
> > >>>
> > >>>> Se não conseguir implementar a dica do Alysson (de juntar tudo em
> uma
> > >>>> linha), outra coisa que vc poderia fazer seria:
> > >>>>
> > >>>> saida do comm | xargs -i grep -B2 {} arquivo
> > >>>>
> > >>>> Por falar em xargs, para juntar cada 3 linhas em uma (proposta do
> > >>> Alisson),
> > >>>> faça:
> > >>>>
> > >>>> cat arquivo | xargs -L3.
> > >>>> Abcs,
> > >>>> Julio
> > >>>> *Já foi lançado "Bombando o
> > >>>> Shell<
> > >>>
> >
> http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666
> > >>>> ". *
> > >>>> *Show **de interfaces gráficas sob Shell!*
> > >>>> *
> > >>>> *
> > >>>>
> > >>>>
> > >>>>
> > >>>> Em 25 de fevereiro de 2012 20:44, Rodrigo Boechat<
> > >>>> address@hidden> escreveu:
> > >>>>
> > >>>>> **
> > >>>>>
> > >>>>>
> > >>>>> Júlio, boa noite!
> > >>>>> Obrigado pela resposta. Eu pensei nisso. Na verdade foi a primeira
> > >>> coisa
> > >>>>> que imaginei.
> > >>>>> Mas caí num caso que não atendeu, ou que meu conhecimento limitado
> > não
> > >>>>> soube solucionar.
> > >>>>> O "comm" compara linha por linha e mostra a linha diferente.
> > >>>>>
> > >>>>> O problema é o seguinte, digamos que o registro no padrão esteja
> > assim:
> > >>>>> [NOME\DA\CHAVE\00]
> > >>>>> "Atributo00"=dword:valor00
> > >>>>> "Atributo01"=dword:valor01
> > >>>>>
> > >>>>> Já no usado, tenho o seguinte:
> > >>>>> [NOME\DA\CHAVE\00]
> > >>>>> "Atributo00"=dword:VALOR10
> > >>>>> "Atributo01"=dword:valor01
> > >>>>>
> > >>>>> O registro "[NOME\DA\CHAVE\00]" é diferente entre o padrão e o
> usado,
> > >>>>> mas eu receberia apenas '"Atributo00"=dword:VALOR10' de retorno.
> > >>>>> A avaliação que preciso realizar, necessita do registro completo.
> > Nesse
> > >>>>> caso, preciso do retorno:
> > >>>>>
> > >>>>> [NOME\DA\CHAVE\00]
> > >>>>> "Atributo00"=dword:VALOR10
> > >>>>> "Atributo01"=dword:valor01
> > >>>>>
> > >>>>> Como meu conhecimento ainda é limitado, você saberia resolver o
> caso
> > >>> sem
> > >>>>> usar arrays?
> > >>>>>
> > >>>>> - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> > --
> > >>>>> -- -- -- -- -- -- -- -
> > >>>>> Fernando, boa noite!
> > >>>>> Obrigado pela resposta.
> > >>>>>
> > >>>>> Eu descobri isso tentando. Não entendi porque o shell não torna um
> > >>>>> elemento de array em array; matriz.
> > >>>>> mas já que a coisa é assim, eu pesquisei e já até tinha achado
> > >>>>> explicações sobre arrays associativos:
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>
> >
> http://www.dicas-l.com.br/cantinhodoshell/cantinhodoshell_20100120.php#.T0lbjl-oOCg
> > >>>>> Já conheço o meio de trabalhar com esse tipo de array, mas o que
> não
> > >>>>> consegui foi justamente, separar o registro e obter seus atributos
> em
> > >>>>> uma única linha.
> > >>>>>
> > >>>>> Aproveitando o exemplo que dei para o Júlio, tentarei explicar
> > melhor.
> > >>>>> Registro padrão:
> > >>>>>
> > >>>>> [NOME\DA\CHAVE\00]
> > >>>>> "Atributo00"=dword:valor00
> > >>>>> "Atributo01"=dword:valor01
> > >>>>>
> > >>>>> chave='NOME\DA\CHAVE\00'
> > >>>>>
> atributo="\"Atributo00\"=dword:valor00\n\"Atributo01\"=dword:valor01"
> > >>>>> registroPadrao[$chave]=$atributo
> > >>>>>
> > >>>>> Eu não preciso, neste instante, saber especificamente o que está
> > >>>>> diferente na chave.
> > >>>>> Preciso apenas obter as chaves que possuem diferenças entre si.
> > >>>>>
> > >>>>> Assim fica super simples comparar as chaves do padrão com o usado,
> > pois
> > >>>>> ambos possuirão os mesmos nomes de chaves.
> > >>>>> Eu faria algo assim:
> > >>>>>
> > >>>>> registroUsado[$chave] É IGUAL A registroPadrão[$chave]
> > >>>>>
> > >>>>> Se for diferente:
> > >>>>> echo $chave>> arquivoDeSaida.txt
> > >>>>> echo $atributos>> arquivoDeSaida.txt
> > >>>>>
> > >>>>> Meu problema é separar as chaves e colocar todos seus atributos
> como
> > um
> > >>>>> único valor no elemento correto do array associativo.
> > >>>>> Tentei vários SEDs na busca pela resposta, mas só tive retorno
> > >>> toscos...
> > >>>>> =/
> > >>>>>
> > >>>>> Grato,
> > >>>>> Rodrigo Boechat
> > >>>>>
> > >>>>> Em 25-02-2012 18:05, Julio C. Neves escreveu:
> > >>>>>> Será que com o uso do diff ou do comm vc não resolve essa
> trapalhada
> > >>> em
> > >>>>> uma
> > >>>>>> linha somente?
> > >>>>>>
> > >>>>>> Abcs,
> > >>>>>> Julio
> > >>>>>> *Já foi lançado "Bombando o
> > >>>>>> Shell<
> > >>>
> >
> http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666
> > >>>>>> ". *
> > >>>>>> *Show **de interfaces gráficas sob Shell!*
> > >>>>>> *
> > >>>>>> *
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>> Em 25 de fevereiro de 2012 04:05, Rodrigo Boechat<
> > >>>>>> address@hidden> escreveu:
> > >>>>>>
> > >>>>>>> **
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> Pessoal, boa madrugada.
> > >>>>>>>
> > >>>>>>> Estou batendo cabeça com a seguinte situação:
> > >>>>>>> Tenho um arquivo de backup de registro do windows e preciso
> > >>> analisá-lo
> > >>>>>>> contra um registro "padrão" para verificar a diferença entre os
> > >>> dois.
> > >>>>>>> O que preciso e não estou conseguindo fazer é o seguinte:
> Pretendo
> > >>> criar
> > >>>>>>> um array "dicionário" com os nomes das chaves do registro e
> > atribuir
> > >>>>>>> como valor todos os atributos das chaves em uma única linha.
> > >>>>>>>
> > >>>>>>> - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
> > >>>>>>> Exemplo de registro:
> > >>>>>>>
> > >>>
> [HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\MultifunctionAdapter\1]
> > >>>>>>> # REGISTRO
> > >>>>>>> "Component
> > >>>>>>> Information"=hex:00,00,00,00,00,00,00,00,00,00,00,00,ff,ff,ff,ff
> #
> > >>>>> ATRIBUTO
> > >>>>>>> "Identifier"="PCI"# ATRIBUTO
> > >>>>>>> "Configuration
> > >>>>>>>
> Data"=hex(9):05,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,05,\#
> > >>>>> ATRIBUTO
> > >>>>>>> 00,00,00,04,00,00,00,00,00,00,00,00,00,00,00,02,10,01,01#
> ATRIBUTO
> > >>>>>>>
> > >>>>>>> [HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FACS]# REGISTRO
> > >>>>>>>
> > >>>
> >
> "00000000"=hex:46,41,43,53,40,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\#
> > >>>>>>> ATRIBUTO
> > >>>>>>>
> > >>>>>>>
> > >>>
> >
> 00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,\#
> > >>>>>>> ATRIBUTO
> > >>>>>>> 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00# ATRIBUTO
> > >>>>>>>
> > >>>>>>> [HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FADT]# REGISTRO
> > >>>>>>> # ATRIBUTO
> > >>>>>>> [HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FADT\VBOX__]# REGISTRO
> > >>>>>>> # ATRIBUTO
> > >>>>>>>
> > >>>>>>> - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
> > >>>>>>> Exemplo de resultado esperado:
> > >>>>>>> registros[NOME\COMPLETO\DO\REGISTRO]=TODAS AS LINHAS DE ATRIBUTOS
> > >>>>>>> AGRUPADAS NUMA SÓ, INCLUINDO AS LINHAS EM BRANCO.
> > >>>>>>>
> > >>>>>>> - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
> > >>>>>>> Ficou fácil de compreender?
> > >>>>>>>
> > >>>>>>> Eu pretendo carregar dois arrays, um com o registro padrão e
> outro
> > >>> com o
> > >>>>>>> "usado" para passar para um txt tudo que estiver diferente do
> > >>> padrão ou
> > >>>>>>> não existir no padrão.
> > >>>>>>> Acredito que eu consiga com um while, mas nem consegui criar os
> > >>> arrays
> > >>>>>>> ainda.
> > >>>>>>>
> > >>>>>>> Bom, eu tentei seguir a ideia de um SED sinistro que o Robson
> > >>> Alexandre
> > >>>>>>> passou:
> > >>>>>>>
> > >>>>>>> for cmd in INSERT SELECT DELETE UPDATE
> > >>>>>>> do
> > >>>>>>> sed -n "/${cmd}/{:a;/;/! {N;ba};s/\n/ /g;p}" arq.txt>
> "${cmd}.txt"
> > >>>>>>> done
> > >>>>>>>
> > >>>>>>> Não tive sucesso, embora eu já consiga compreender a estrutura.
> > >>>>>>>
> > >>>>>>> Alguém poderia me ajudar?
> > >>>>>>>
> > >>>>>>> Grato,
> > >>>>>>> Rodrigo Boechat
> > >>>>>>>
> > >>>>>>> [As partes desta mensagem que não continham texto foram
> removidas]
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>> [As partes desta mensagem que não continham texto foram removidas]
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>> ------------------------------------
> > >>>>>>
> > >>>>>> ----------------------------------------------------------
> > >>>>>> 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
> > >>>>>> ----------------------------------------------------------
> > >>>>>> Servidor Newsgroup da lista: news.gmane.org
> > >>>>>> Grupo: gmane.org.user-groups.programming.shell.brazil
> > >>>>>>
> > >>>>>> Links do Yahoo! Grupos
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>> [As partes desta mensagem que não continham texto foram removidas]
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>
> > >>>> [As partes desta mensagem que não continham texto foram removidas]
> > >>>>
> > >>>>
> > >>>>
> > >>>> ------------------------------------
> > >>>>
> > >>>> ----------------------------------------------------------
> > >>>> 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
> > >>>> ----------------------------------------------------------
> > >>>> Servidor Newsgroup da lista: news.gmane.org
> > >>>> Grupo: gmane.org.user-groups.programming.shell.brazil
> > >>>>
> > >>>> Links do Yahoo! Grupos
> > >>>>
> > >>>>
> > >>>
> > >>>
> > >>
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > ----------------------------------------------------------
> > > 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
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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