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: Valtoir
Subject: Re: [shell-script] Comparando registros.
Date: Tue, 6 Mar 2012 16:25:19 -0300

Só por comentar, mesmo.

Pensei em outra forma de resolver o problema: criar um arquivo para cada
chave do registro, e colocar os valores dentro de cada arquivo. Algo como

------------------------------------
sed -i 's#\\#.#g' $padraoUnix

mkdir /tmp/PadraoUnix

while read linhaPadrao; do
if [ "${linhaPadrao:0:1}" == "[" ]; then
 chavePadrao=${linhaPadrao#[}
chavePadrao=${chavePadrao%]}
touch /tmp/PadraoUnix/$chavePadrao
 else
echo $linhaPadrao >> /tmp/PadraoUnix/$chavePadrao
fi
done < $padraoUnix

-----------------------------------

Depois de fazer isso também com "UsadoUnix", mandar ver um diff nos
diretórios cujos nomes de arquivos sejam as chaves de registro e seus
conteúdos os registros em si. Não sei se fui claro, e meu exemplo acima não
foi testado.

Só acho uma ideia meio maluca devido ao i/o no sistema de arquivos, mas de
qualquer forma é uma ideia.

Valtoir


Em 5 de março de 2012 16:46, Alysson Gonçalves de Azevedo <
address@hidden> escreveu:

> **
>
>
> $ 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]
>
>  
>


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



reply via email to

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