Re: [shell-script] Ajuda -Shell Script

2007-05-08 Por tôpico Anderson Souza
e dae Alexandre... td blz?
Eu vou estudar o coordenadas, pois não foi eu quem o fez... assim que
estiver rodando eu posto ai ...

Abraços...

Anderson Souza


Em 07/05/07, Alexandre Passos de Matos <[EMAIL PROTECTED]>
escreveu:
>
>   Se conseguir mudar isso seu problema fica bico.
>
> Se conseguir mudar, posta aqui q a gente te ajuda na solução.
>
> []s
> Alexandre
>
> Anderson Souza <[EMAIL PROTECTED] >
> escreveu: Ola Alexandre... Bom Dia!
>
> tem jeito sim... vou ver isso... valeu ai pela dica.
> Abracos
>
> Anderson Souza
>
> Em 04/05/07, Alexandre Passos de Matos <[EMAIL 
> PROTECTED]
> >
> escreveu:
> >
> > O coordenadas foi feito pra rodar interativamente. Deste jeito ele não
> > vai rodar em batch não. Precisa mudar o programa pra ele pegar os
> parâmetros
> > como argumentos e não como entrada de teclado.
> >
> > Até daria pra vc colocar o coordenadas pra rodar com um arquivo de
> > respostas, mas dificultaria roda-lo no loop do ls depois.
> >
> > O melhor seria mudar o coordenadas pra aceitar argumentos no lugar de
> > entrada de teclado. É possivel esta mudança?
> >
> > Anderson Souza <[EMAIL PROTECTED]<
> anderson.souza35%40gmail.com>>
> > escreveu: blz Alexandre, é isso mesmo olhá só
> >
> >
> > o que esta acontecendo é que quando o for lê ./coordenadas ele abre o
> > prompt
> > para eu digitar o nome do arquivo e o que eu quero é pegar o
> primeiro
> > elemento da lista
> >
> > PS:
> > minha lista (gerado pelo ls)
> > s030507.txt
> > s040507.txt
> > s06050/.txt
> > ..
> > ..
> > s310507.txt
> >
> > Aqui eu mostro o prg coordenadas rodando:
> >
> > root#./coordenadas
> > Entre com o nome do arquivo: *s030507.txt*
> > Entre com o nome do arquivo de saida: *ls030507.txt*
> > Entre com o número de passos: *720*
> > Arquivo gerado som sucesso!!
> > root#
> >
> > Valeu ai
> > t+
> >
> > Anderson Souza
> >
> > Em 03/05/07, Alexandre Passos de Matos <[EMAIL 
> > PROTECTED]
> 
> > >
> > escreveu:
> > >
> > > Oi Anderson!
> > >
> > > Sim, existe. Se os arquivos estiverem em um diretório e neste
> diretório
> > só
> > > existam estes arquivos, vc pode fazer um loop assim:
> > >
> > > for i in `ls nome_do_diretorio`
> > > do
> > > seus_comandos
> > > done
> > >
> > > Em cada volta do loop a variável i recebe o nome de um arquivo, na
> ordem
> > > da saída do ls. Então vc passaria $i como parâmetro pro programa
> > > coordenadas. Este programa coordenadas é interativo ou pode ser rodado
> > com
> > > passagem de parâmetros?
> > >
> > > Se os arquivos tiverem um padrão de nome, vc pode melhorar o ls
> > colocando
> > > ls nome_do_diretorio/arquivo*
> > >
> > > É isso q vc precisa?
> > >
> > > []s
> > > Alexandre
> > >
> > > anderson1904 <[EMAIL PROTECTED]<
> anderson.souza35%40gmail.com><
> > anderson.souza35%40gmail.com>>
> > > escreveu: Olá pessoal! Td certo?
> > > Bom , como tenho pouca experiencia em shell resolvi pedir ajuda aqui
> > > pra vocês.
> > > Seguinte:
> > > Eu uso o Xephem para gerar coordenadas (sol). Tenho também um
> > > programa (coordenadas) feito em C++ que, pega o arquivo gerado pelo
> > > Xephem e elimina as linhas negativas deste arquivo. Executando o
> > > coordenadas seria assim:
> > >
> > > Entre com o nome do arquivo: file.txt(arquivo do xephem)
> > > Nome do arquivo de saida: file1.txt (aquivo sem linhas negativas)
> > > Numero de passos: 720 (este numero é fixo)
> > >
> > > PS: aqui o usuario entra com estas informações
> > >
> > > A minha duvida é a seguinte:
> > >
> > > Preciso de um script shell que faça esta rotina pra mim a partir de
> > > uma lista de arquivos, ou seja, o programa coordenadas estaria
> > > recebendo os passos acima automaticamente atraves de uma lista de
> > > arquivos.txt já definida. Como eu faço o shell executar isso pra mim,
> > > sem a necessidade de informar arquivo por arquivo, pois eu já tenho
> > > uma lista com todos os arquivos? Existe esta possibilidade?
> > >
> > > Agradeço pela atenção
> > >
> > > Anderson Souza
> > >
> > >
> > >
> > >
> > >
> > > __
> > > Fale com seus amigos de graça com o novo Yahoo! Messenger
> > > http://br.messenger.yahoo.com/
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > Anderson Souza
> > Email: [EMAIL PROTECTED]  <
> anderson.souza35%40gmail.com>
> > Skype: anderson1904
> > Msn: [EMAIL PROTECTED]  
> > Fone: (12)9732-9877 - (12)3101-2997
> > __
> > "Os que desprezam pequenos acontecimentos, dificilmente farão grandes
> > descobertas."
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> >
> >
> > __
> > Fale com seus amigos de graça com o novo Yahoo! Messenger
> > http://br.messenger.yahoo.com/
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Anderson Souza
> Email: [EMAIL PROTECTED] 
> Skype: anderson1904
> Msn: [

[shell-script] retornar apenas números

2007-05-08 Por tôpico Luciano Depierri
Pessoal,



Tenho uma coluna alfanumérica em um arquivo, ex:



6.u89;0*P

09.03UM

35.09-BR4


Como faço para filtrar apenas os números, ou seja quero apagar qualquer
coisa que não esteja entre 0-9.

A saida ficaria apenas os números, ex:


6890

0903

35094



Alguém poderia me dar uma ajuda?



Obrigado,



Luciano


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



Re: [shell-script] retornar apenas números

2007-05-08 Por tôpico Eduardo Otubo
Olá Luciano,

Você pode usar o sed para filtrar essas informações:

$ cat arquivo | sed -e 's/[^0-9]//g'

Explicando: Você vai passar o sed fazendo uma expressão regular de uma
lista (chaves) negada (acento circunflexo) dos numero de zero a nove
(intervalo separado pelo ífen). Aqui parece que funcionou.

[EMAIL PROTECTED] ~ $ echo "35.09-BR4"|sed -e 's/[^0-9]//g'
35094
[EMAIL PROTECTED] ~ $ echo "09.03UM"|sed -e 's/[^0-9]//g'
0903
[EMAIL PROTECTED] ~ $ echo "6.u89;0*P"|sed -e 's/[^0-9]//g'
6890

[]'s


On 5/8/07, Luciano Depierri <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
> Pessoal,
>
>  Tenho uma coluna alfanumérica em um arquivo, ex:
>
>  6.u89;0*P
>
>  09.03UM
>
>  35.09-BR4
>
>  Como faço para filtrar apenas os números, ou seja quero apagar qualquer
>  coisa que não esteja entre 0-9.
>
>  A saida ficaria apenas os números, ex:
>
>  6890
>
>  0903
>
>  35094
>
>  Alguém poderia me dar uma ajuda?
>
>  Obrigado,
>
>  Luciano
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>



-- 
Eduardo Otubo
Linux Registered User #424252
http://z3r00.blogspot.com/

|_|0|_|
|_|_|0|
|0|0|0|


Re: [shell-script] Saída de resultado de comando

2007-05-08 Por tôpico Hever Costa Rocha
Obrigado a todos da lista. O dica do Tiago Barcelos e do Julio Neves 
estava correta. Era simplesmente a "proteção" da variável.
Só a título de curiosidade, o saída do comando abaixo vou utilizar em um 
script para barrar sites com vários endereços ip, como nosso amigo 
orkut.com...

Abraços

Hever

Julio C. Neves escreveu:
>
> Fala Hever,
> Basta vc fazer echo "$IPS". A explicação para isso é que o Shell exibe os
> caracteres do IFS (por default o branco, o tab e o enter) como um 
> espaço em
> branco. Veja:
>
> $ a="x x"
> $ echo $a
> x x
> $ echo "$a"
> x x
>
> Existe um livro livre e online em português que explica isso e outras
> coisas muito bem. Entenda isso em :
> http://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarPapo001#Decifrando_a_Pedra_da_Roseta
>  
> 
>
> Abraços,
> Julio
> :wq
>
> Em 05/05/07, Hever C. Rocha <[EMAIL PROTECTED] 
> > escreveu:
> >
> > Boa Tarde Lista
> >
> > Tenho uma pequena dúvida:
> >
> > Comando:
> > [EMAIL PROTECTED] ~]# dig +short www.orkut.com orkut.com|sort|uniq
> > 72.14.209.85
> > 72.14.209.86
> > 72.14.209.87
> > 72.14.209.94
> > orkut.l.google.com.
> >
> > ok, conforme esperado...
> >
> > Comando:
> > [EMAIL PROTECTED] ~]# IPS=`dig +short www.orkut.com orkut.com|sort|uniq`
> > [EMAIL PROTECTED] ~]# echo $IPS
> > 72.14.209.85 72.14.209.86 72.14.209.87 72.14.209.94 orkut.l.google.com.
> >
> > Eu queria que a saída fosse linha por linha, como seu executasse o 
> comando
> > no prompt, para tratar linha por linha...
> >
> > Hever
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> -- 
> Abraços,
> Julio
> http://www.julioneves.com  - Um livro sobre 
> Bash completo e on-line
> :wq
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  



Re: [shell-script] retornar apenas números

2007-05-08 Por tôpico Tiago Barcellos Peczenyj
eu usaria o SED para substituir qualquer caracter que não esteja no
intervalo de 0 à 9 por 'nada'

sed 's/[^0-9]//g'  arquivo

o resultado o surpreenderá ;-)

On 5/8/07, Luciano Depierri <[EMAIL PROTECTED]> wrote:
>
>   Pessoal,
>
> Tenho uma coluna alfanumérica em um arquivo, ex:
>
> 6.u89;0*P
>
> 09.03UM
>
> 35.09-BR4
>
> Como faço para filtrar apenas os números, ou seja quero apagar qualquer
> coisa que não esteja entre 0-9.
>
> A saida ficaria apenas os números, ex:
>
> 6890
>
> 0903
>
> 35094
>
> Alguém poderia me dar uma ajuda?
>
> Obrigado,
>
> Luciano
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


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



[shell-script] Separar arquivos em blocos

2007-05-08 Por tôpico Edilson Azevedo
Bom dia pessoal!

A algum tempo mandei um email para vcs para me auxiliar a retirar
alguns dados de um arquivo. Lembrando, a sintaxe do arquivo é essa aqui:

Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
Subject: Fwd: Envio de relatorio
From: "Javali cafona" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]

Como podem ver é o cabecalho de uma mensagem de email. Para separar o
"From" numa variável, por exemplo, eu uso:
FROM=`cat $ARQ| grep '^From' | cut -f2 -d'<' |sed -e s/"From: "// |tr -d
'>'| sed 's/^[ \t]*//;s/[ \t]*$//'`(assim eu pego só o endereço de email
do sujeito)

Aprendí muito com vcs e tudo está joia! Porém (sempre tem um porém...
rsrs), Eu me deparei com uma dúvida. Sei separar por linhas, sei limpar
a linha e sei salvar em banco. Mais como faço para saber se a informação
que tenho é realmente de email1 ou email2?

Não sei se estou sabendo me expressar, mais minha dúvida é a seguinte: É
possivel fazer com que o shell-script separe um arquivo por blocos??
Dessa forma eu faria assim (desculpe a ignorância, mais tentarei dar um
exemplo):

Email 1
>From maillog
Date: Mon, 10 May 2007 11:02:01 -0300 (BRT)
Subject:
From: "Javali cafona" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
X-Mailer: XP

Email 2
>From maillog
Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
Subject: Fwd: Envio de relatorio
From: "Javali cafona" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Cco: [EMAIL PROTECTED]
X-Mailer: XP

Eu quero que o shell leia o arquivo, quando ele encontrar "From maillog"
ele saiba que é o inicio do bloco e quando ele ler "X-Mailer: XP" saiba
que é o fim. Dessa forma ele inicia o trabalho em $BLOCO. Depois ele lê
o conteúdo de $BLOCO (From:, To:, Date:) e manda para devidas variáveis
($FROM, $TO, $DATE) e pronto! Ele manda o valor de $FROM para
arquivo texto (ou em banco, que é o meu caso).
Daqui por diante ele deve descartar o valor de todas as variáveis e
continuar para o _próximo_ bloco, que ele sabe que começa em "From
maillog" e termina em "X-Mailer: XP". Sacaram? O problema principal
seria essa idéia de separar em blocos, coletar variáveis e pular para o
próximo bloco. Francamente nunca lí nenhum script que faça isso... rs.

Se alguém puder me dar uma luz!

Valeu Pessoal!!!
-- 



Re: [shell-script] Teste de parametros

2007-05-08 Por tôpico mop

par(){ for p in 1 2;do
 eval "[ \${#$p} = 12 ]&&[ n\$$p = n\${$p//[^0-9]} ]"||return
done;}

par 193456789012 199456789012 || echo p$p nOK


---
yahoogrupos:
Respostas, por favor, sem endereço de email do corpo da mensagem.
Obrigado!



-
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

 


Re: [shell-script] Separar arquivos em blocos

2007-05-08 Por tôpico Bruno Gunter Fricke


 for exemplo in `zegrep -i -h "email2" ~/log | grep -v 'email1' | 
awk '{print $2}' 
do
echo "$i"\n;
i=`expr "$i" + 1`;
zgrep -h $exemplo ~/log | egrep '(from=<|to=<)'
| sed -e 's/ *.servidor.*
]://g' -e 's/ (queue.*)//g' -e 's/, status=\w*//g';
done;



Em Ter, 2007-05-08 às 10:03 -0300, Edilson Azevedo escreveu:
> Bom dia pessoal!
> 
> A algum tempo mandei um email para vcs para me auxiliar a retirar
> alguns dados de um arquivo. Lembrando, a sintaxe do arquivo é essa
> aqui:
> 
> Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
> Subject: Fwd: Envio de relatorio
> From: "Javali cafona" <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> 
> Como podem ver é o cabecalho de uma mensagem de email. Para separar o
> "From" numa variável, por exemplo, eu uso:
> FROM=`cat $ARQ| grep '^From' | cut -f2 -d'<' |sed -e s/"From: "// |tr
> -d
> '>'| sed 's/^[ \t]*//;s/[ \t]*$//'`(assim eu pego só o endereço de
> email
> do sujeito)
> 
> Aprendí muito com vcs e tudo está joia! Porém (sempre tem um porém...
> rsrs), Eu me deparei com uma dúvida. Sei separar por linhas, sei
> limpar
> a linha e sei salvar em banco. Mais como faço para saber se a
> informação
> que tenho é realmente de email1 ou email2?
> 
> Não sei se estou sabendo me expressar, mais minha dúvida é a seguinte:
> É
> possivel fazer com que o shell-script separe um arquivo por blocos??
> Dessa forma eu faria assim (desculpe a ignorância, mais tentarei dar
> um
> exemplo):
> 
> Email 1
> >From maillog
> Date: Mon, 10 May 2007 11:02:01 -0300 (BRT)
> Subject:
> From: "Javali cafona" <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> X-Mailer: XP
> 
> Email 2
> >From maillog
> Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
> Subject: Fwd: Envio de relatorio
> From: "Javali cafona" <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Cco: [EMAIL PROTECTED]
> X-Mailer: XP
> 
> Eu quero que o shell leia o arquivo, quando ele encontrar "From
> maillog"
> ele saiba que é o inicio do bloco e quando ele ler "X-Mailer: XP"
> saiba
> que é o fim. Dessa forma ele inicia o trabalho em $BLOCO. Depois ele
> lê
> o conteúdo de $BLOCO (From:, To:, Date:) e manda para devidas
> variáveis
> ($FROM, $TO, $DATE) e pronto! Ele manda o valor de $FROM para
> arquivo texto (ou em banco, que é o meu caso).
> Daqui por diante ele deve descartar o valor de todas as variáveis e
> continuar para o _próximo_ bloco, que ele sabe que começa em "From
> maillog" e termina em "X-Mailer: XP". Sacaram? O problema principal
> seria essa idéia de separar em blocos, coletar variáveis e pular para
> o
> próximo bloco. Francamente nunca lí nenhum script que faça isso... rs.
> 
> Se alguém puder me dar uma luz!
> 
> Valeu Pessoal!!!
> -- 
> 
> 
> 
> 
> 
>  


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



Re: [shell-script] Separar arquivos em blocos

2007-05-08 Por tôpico mop
Eu usaria (uso) coisas assim:

while read;do
 [ "$REPLY" = "From maillo" ]&&HEADER=1&&echo inicio  
 [ "$REPLY" = "X-Mailer: XP" ]&&HEADER=&&echo fim  
doneFrom: Edilson Azevedo
>Date: Tue, 08 May 2007 10:03:38 -0300
>
>Bom dia pessoal!
>
>A algum tempo mandei um email para vcs para me auxiliar a retirar
>alguns dados de um arquivo. Lembrando, a sintaxe do arquivo é essa aqui:
>
>Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
>From: "Javali cafona" <[EMAIL PROTECTED]>
>
>Como podem ver é o cabecalho de uma mensagem de email. Para separar o
>"From" numa variável, por exemplo, eu uso:
>FROM=`cat $ARQ| grep '^From' | cut -f2 -d'<' |sed -e s/"From: "// |tr -d
>'>'| sed 's/^[ ]*//;s/[]*$//'`(assim eu pego só o endereço de 
>email
>do sujeito)
>
>Aprendí muito com vcs e tudo está joia! Porém (sempre tem um porém...
>rsrs), Eu me deparei com uma dúvida. Sei separar por linhas, sei limpar
>a linha e sei salvar em banco. Mais como faço para saber se a informação
>que tenho é realmente de email1 ou email2?
>
>Não sei se estou sabendo me expressar, mais minha dúvida é a seguinte: É
>possivel fazer com que o shell-script separe um arquivo por blocos??
>Dessa forma eu faria assim (desculpe a ignorância, mais tentarei dar um
>exemplo):
>
>Email 1
>>From maillog
>Date: Mon, 10 May 2007 11:02:01 -0300 (BRT)
>Subject:
>From: "Javali cafona" <[EMAIL PROTECTED]>
>X-Mailer: XP
>
>Email 2
>>From maillog
>Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
>From: "Javali cafona" <[EMAIL PROTECTED]>
>Cco: [EMAIL PROTECTED]
>X-Mailer: XP
>
>Eu quero que o shell leia o arquivo, quando ele encontrar "From maillog"
>ele saiba que é o inicio do bloco e quando ele ler "X-Mailer: XP" saiba
>que é o fim. Dessa forma ele inicia o trabalho em $BLOCO. Depois ele lê
>o conteúdo de $BLOCO (From:, To:, Date:) e manda para devidas variáveis
>($FROM, $TO, $DATE) e pronto! Ele manda o valor de $FROM para
>arquivo texto (ou em banco, que é o meu caso).
>Daqui por diante ele deve descartar o valor de todas as variáveis e
>continuar para o _próximo_ bloco, que ele sabe que começa em "From
>maillog" e termina em "X-Mailer: XP". Sacaram? O problema principal
>seria essa idéia de separar em blocos, coletar variáveis e pular para o
>próximo bloco. Francamente nunca lí nenhum script que faça isso... rs.
>
>Se alguém puder me dar uma luz!
>
>Valeu Pessoal!!!
>-- 
>
>



-
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

 


Res: [shell-script] Teste de parametros

2007-05-08 Por tôpico Rafa Pongai
Olá Carlos,

fiz da seguinte forma:

[ $(grep -E "^[[:digit:]]{1,12}$" <<< $1) ] || {
echo "ERROR!"
exit 1
}

isto ferificará se o primeiro parametro é um número e é menor ou igual a 12, se 
vc quiser que o número tenha exatamente 12 digitos, alterar o {1,12} para {12}.

POnga!
- Mensagem original 
De: Carlos Ferreira <[EMAIL PROTECTED]>
Para: shell-script@yahoogrupos.com.br
Enviadas: Segunda-feira, 7 de Maio de 2007 17:32:25
Assunto: [shell-script] Teste de parametros









  



Pessoal,

estou com um script shell que recebe dois parametros, preciso testar se

estes dois parâmetros tem as seguintes características, todos dois tem que

ter 12 posições e tem que ser numéricos.



Desde já agradeço a todos pela atenção.



[]s



Carlos Ferreira



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






  















__
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

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



Re: [shell-script] Teste de parametros

2007-05-08 Por tôpico Julio C. Neves
No Bash 3:

[[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.

Abraços,
Julio
:wq



Em 07/05/07, Carlos Ferreira <[EMAIL PROTECTED]> escreveu:
>
>   Pessoal,
> estou com um script shell que recebe dois parametros, preciso testar se
> estes dois parâmetros tem as seguintes características, todos dois tem que
> ter 12 posições e tem que ser numéricos.
>
> Desde já agradeço a todos pela atenção.
>
> []s
>
> Carlos Ferreira
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq


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



RES: [shell-script] Analisador Fex lexico URGENTE

2007-05-08 Por tôpico Rafael Yahoo
Turma eu tenho um grande problema em maos e nao sei como trata-lo fiz de
tudo mas nao sou tao bom assim para escrever um codigo que reconheca todos
os simbolos , constants numericas, etc.

Alguém ai jah fez ou tem conhecimento sobre analisador LEXICO, FLEX? Tem
como me ajudar com esse código?

Muito obrigado mesmo!!!

 

Abraço Rafael Torres de Almeida

 

#include

#include

%{

int num_linha = 1, num_carac = 0;

%}

 

%option noyywrap

 

DIG   [0-9]

ID[a-zA-Z][a-zA-Z0-9]*

SIM
"="|"+"|"-"|"*"|"/"|"{"|"}"|"("|")"|";"|"++"|"+="|"--"|"-="|"->"|"."|\"|"'"|
\\

 

%%

 




{SIM}   {

  ++num_carac;

   printf("Classe: Simbolos \n");

  printf("Valor: %s
\n", yytext);

 
printf("Posicao: Lin %d , Col %d \n", num_linha, num_carac);

}



{DIG}*{

  ++num_carac;

 

  printf("Classe: Constante Numerica
\n");

 
printf("Valor: %s (%d)\n", yytext); 

 
printf("Posicao: Lin %d , Col %d \n", num_linha, num_carac);

 }

 

{ID}{

  ++num_carac;

 

  printf("Classe: Identificador
\n");

  printf("Valor:
%s \n", yytext);

  printf("Posicao: Lin %d , Col
%d \n", num_linha, num_carac);



}



 

\n {

  ++num_linha;

  num_carac = 0;

}




  

.   {

  ++num_carac;

  printf("Caracter
Desconhecido: %s\n", yytext );

}   

 


 

%%

 

main( argc, argv )

int argc;

char **argv;

 

{

++argv, --argc; 

if ( argc > 0 ){

 

yyin = fopen( argv[0], "r" );

}

else{

 

yyin = stdin;

}

yylex();

}

 

  _  

De: shell-script@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Darlon
Enviada em: Monday, May 07, 2007 1:52 PM
Para: shell-script@yahoogrupos.com.br
Assunto: Re: [shell-script] tr? awk? cut?

 

Tenta esse

awk -F ":" '{split($2,x,","); for (i in x) print $1 >> x[i]}' arquivo

On 5/7/07, Tiago Barcellos Peczenyj mailto:tiago.peczenyj%40gmail.com> gmail.com> wrote:
>
> Uma das formas poderia ser esta
>
> awk 'BEGIN{FS="[:,]"} # separador de campo : ou ,
> {
> for(i=2;i<=NF;i++){ # varre todas as 'tags' $1 é o
> usuario
> A[$i]++ # contamos quantas vezes
> aparece o nome da 'tag'
> if (A[$i] == 1) print $i > $i".txt" # se 1* vez imprime cabeçalho
> print $1 >> $i".txt" # adiciona nome
> }
> }' arquivo
>
> use com cuidado ;-)
>
> On 5/7/07, Pedro Drimel mailto:pedrodrimel%40gmail.com>
gmail.com >
> wrote:
> >
> > Bom dia a todos...
> >
> > Tenho um arquivo na seguinte estrutura
> >
> > usuario1:abc,xxx,zzz
> > usuario2:xxx
> > usuario3:zzz
> > usuario4:xxx,abc
> >
> > preciso gerar um arquivo ou até varios (abc.txt xxx.txt) contendo
> >
> > abc
> > usuario1
> > usuario4
> >
> > xxx
> > usuario1
> > usuario2
> > usuario4
> >
> > zzz
> > usuario1
> > usuario3
> >
> > Alguma idéia?
> >
> > Obrigado.
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> # cd /pub
> # more beer
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>

-- 
--
O sistema pediu:"Requires Windows 9x, Windows 2000 or better".
Então eu instalei Linux.

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

 



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



Re: [shell-script] AWK com ShellScript

2007-05-08 Por tôpico Michel I. Moreira

Ok Julio,

De maneira alguma estou ofendido com o que me disse, estou pesquisando e 
refazendo meu codigo. Assim q tiver uma solução mando na lista pra vcs 
comentarem ele.

Outra coisa.estou com um livro seu aqui Programação Shell Linux na 3 
edicao. Este é o mais atual??  Vc indica algum lugar onde posso compra-lo???

Obrigado,


Michel Moreira - [EMAIL PROTECTED] / [EMAIL PROTECTED]
Data Center Team - Powered by Debian 3.1
+55 19 3031-9791
+55 19 9138-8630
Stefanini It Solutions
GESAC / ID Brasil Project




Julio C. Neves escreveu:

> OK Michel,
> não se ofenda com o que eu disse. O normal aqui na lista é isso: vc 
> mostra o
> que fez e nós ajudamos; até pq é bastante provável que seu professor 
> tb faça
> parte da nossa lista.
>
> Se vc não encontrou ajuda sobre awk e não tem problemas com Inglês, veja
> aqui: http://www.edcomp.com/results/awk+tutorial.html 
> 
> FAQ - http://www.landfield.com/faqs/computer-lang/awk/faq/ 
> 
> gawk - http://www.gnu.org/software/gawk/gawk.html 
> 
> manual online - http://www.polaris.net/docs/gawk/ 
> 
>
> Em Português:
> http://brlinux.linuxsecurity.com.br/artigos/awk_intro.htm 
> 
>
> Mas o Tiago deve ter apostila mais completa em português.
>
> Abração,
> Julio
> :wq
>
> Em 07/05/07, Michel I. Moreira <[EMAIL PROTECTED] 
> > escreveu:
> >
> > Desculpe-me
> >
> > Acho que não deixei claro.eu não quero que ninguem faça pra mim
> > coloquei o texto pra dar uma geral do problema.
> >
> > O que eu quero é saber como tratar com os arquivos. Por exemplo
> >
> > como eu pego 1 linha do arquivo1.txt e comparo com todas as linhas do
> > arquivo2.txt e assim sucessivamente
> >
> > Procurei isso em diversos artigos e sites e não encontrei.
> >
> > Espero que possam me ajudar .
> >
> > Michel.
> >
> > Julio C. Neves escreveu:
> > >
> > > Fala Michel,
> > > Não vamos fazer para vc, mas mostre o que vc fez que nós o ajudaremos.
> > >
> > > Abração,
> > > Julio
> > > :wq
> > >
> > > Em 07/05/07, Michel I. Moreira <[EMAIL PROTECTED] 
> 
> > > > escreveu:
> >
> > > >
> > > > Boa tarde,
> > > >
> > > > Estou estudando AWK e Shell na faculdade, o processo pediu para
> > > > desenvolvermos um script que use AWK com alguns recursos de 
> shell para
> > > > analisar log.
> > > >
> > > > O Script teria que ler o arquivo de log e pegar outros arquivos
> > contendo
> > > > erro, avisos e etc e no final mostrar a quantidade de erros
> > encontrados.
> > > >
> > > > Para deixar mais claro seria algo do tipo. Teria os seguintes 
> arquivos
> > > >
> > > > server.log
> > > > erros.msg
> > > > avisos.msg
> > > >
> > > > Eu executo
> > > >
> > > > # ./analisa.sh server.log erros.msg avisos.msg
> > > >
> > > > Resultado seria algo assim.
> > > >
> > > > Erro  na Linha XXX
> > > > Aviso  na linha 
> > > > Erro  na linha XXX
> > > > Erro  na linha 
> > > >
> > > > Total de Erro : 3
> > > > Total de Aviso: 1
> > > >
> > > > Ja tentei de varia maneiras mas não consegui chegar a nenhum
> > resultado.
> > > > Como sou novo nessas linguagens não estou conseguindo trabalhar com
> > > > arquivos.
> > > > Consegui fazer com os erro dentro do script, mas não é forma que o
> > > > professor que.
> > > >
> > > > Já pesquisei em vários e-books sobre o assunto mas não encontrei 
> nada.
> > > >
> > > > Alguem pode ajudar
> > > >
> > > > Desde ja o meu muito Obrigado
> > > >
> > > > Michel
> > > >
> > > >
> > > >
> > >
> > > --
> > > Abraços,
> > > Julio
> > > http://www.julioneves.com  
> > - Um livro sobre
> > > Bash completo e on-line
> > > :wq
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> >
> >
> >
>
> -- 
> Abraços,
> Julio
> http://www.julioneves.com  - Um livro sobre 
> Bash completo e on-line
> :wq
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  



[shell-script] Imprimi determinada linha

2007-05-08 Por tôpico mauricym
Pessoal

Tenho um arquivo PS onde preciso que o script ao encontrar determinada
"ocorrência", imprima esta linha. Exemplo de trecho do arquivo:

  moveto
  (Requesting User: ) RIGHT
  moveto
  (mauricy) show

...preciso que sempre que ele "encontrar" a palavra "Requesting User",
imprima a linha "(mauricy) show", para eu poder tratar em uma variável.

Dá para fazer com sed??

Obrigado

Mauricy





Re: [shell-script] Separar arquivos em blocos

2007-05-08 Por tôpico edjunior
hey,

não sei se te ajuda, mas, usando sed, você pode tratar os blocos dessa
forma (fiz um pequeno script em sed que, creio, pode facilitar o
entendimento):


#!/usr/bin/sed -nf

# limita o bloco entre linhas com "From maillog" e "X-Mailer"
/^>From maillog/,/^X-Mailer/{

# escreve o "From: " na tela e no arquivo from.txt
s/^From: \(.*\)/FROM=\1/pw from.txt

# escreve o "To :" e "Date: " na tela
s/^To: \(.*\)/TO=\1/p;
s/^Date: \(.*\)/DATE=\1/p;
}



É apenas uma idéia. Se achar legal, pode tentar remodelar a saída,
produzindo algo mais próximo do que você precisa.

hasta!

jr.

On 5/8/07, mop <[EMAIL PROTECTED]> wrote:
> Eu usaria (uso) coisas assim:
>
> while read;do
>  [ "$REPLY" = "From maillo" ]&&HEADER=1&&echo inicio
>  [ "$REPLY" = "X-Mailer: XP" ]&&HEADER=&&echo fim
> done
>
> ---
> Ao responder, favor retirar meu endereço de email do corpo da mensagem.
> Obrigado!
>
>
>
> --
> >From: Edilson Azevedo
> >Date: Tue, 08 May 2007 10:03:38 -0300
> >
> >Bom dia pessoal!
> >
> >A algum tempo mandei um email para vcs para me auxiliar a retirar
> >alguns dados de um arquivo. Lembrando, a sintaxe do arquivo é essa aqui:
> >
> >Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
> >From: "Javali cafona" <[EMAIL PROTECTED]>
> >
> >Como podem ver é o cabecalho de uma mensagem de email. Para separar o
> >"From" numa variável, por exemplo, eu uso:
> >FROM=`cat $ARQ| grep '^From' | cut -f2 -d'<' |sed -e s/"From: "// |tr -d
> >'>'| sed 's/^[ ]*//;s/[]*$//'`(assim eu pego só o endereço 
> >de email
> >do sujeito)
> >
> >Aprendí muito com vcs e tudo está joia! Porém (sempre tem um porém...
> >rsrs), Eu me deparei com uma dúvida. Sei separar por linhas, sei limpar
> >a linha e sei salvar em banco. Mais como faço para saber se a informação
> >que tenho é realmente de email1 ou email2?
> >
> >Não sei se estou sabendo me expressar, mais minha dúvida é a seguinte: É
> >possivel fazer com que o shell-script separe um arquivo por blocos??
> >Dessa forma eu faria assim (desculpe a ignorância, mais tentarei dar um
> >exemplo):
> >
> >Email 1
> >>From maillog
> >Date: Mon, 10 May 2007 11:02:01 -0300 (BRT)
> >Subject:
> >From: "Javali cafona" <[EMAIL PROTECTED]>
> >X-Mailer: XP
> >
> >Email 2
> >>From maillog
> >Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
> >From: "Javali cafona" <[EMAIL PROTECTED]>
> >Cco: [EMAIL PROTECTED]
> >X-Mailer: XP
> >
> >Eu quero que o shell leia o arquivo, quando ele encontrar "From maillog"
> >ele saiba que é o inicio do bloco e quando ele ler "X-Mailer: XP" saiba
> >que é o fim. Dessa forma ele inicia o trabalho em $BLOCO. Depois ele lê
> >o conteúdo de $BLOCO (From:, To:, Date:) e manda para devidas variáveis
> >($FROM, $TO, $DATE) e pronto! Ele manda o valor de $FROM para
> >arquivo texto (ou em banco, que é o meu caso).
> >Daqui por diante ele deve descartar o valor de todas as variáveis e
> >continuar para o _próximo_ bloco, que ele sabe que começa em "From
> >maillog" e termina em "X-Mailer: XP". Sacaram? O problema principal
> >seria essa idéia de separar em blocos, coletar variáveis e pular para o
> >próximo bloco. Francamente nunca lí nenhum script que faça isso... rs.
> >
> >Se alguém puder me dar uma luz!
> >
> >Valeu Pessoal!!!
> >--
> >
> >
>
>
>
> -
> 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
>
>
>


Re: [shell-script] Teste de parametros

2007-05-08 Por tôpico Carlos Ferreira
Julio,
coloquei a seguinte linha no meu script:
[[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
só para testar depois melhoro a mensagem de erro e estou recebendo o erro
abaixo
$ ./meuscript.sh 12 12
./meuscript.sh[24]: 0403-057 Syntax error at line 24 : `&' is not expected.
$
O meu ambiente de testes esta rodando no  AIX Version 5.3
[]s

-- 
Carlos Ferreira
Analista de Desenvolvimento
Niterói - RJ - Brasil
LinuxUser  #271002
http://www.carnivorosemdentes.blogger.com.br/

Em 08/05/07, Julio C. Neves <[EMAIL PROTECTED]> escreveu:
>
>   No Bash 3:
>
> [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
>
> Abraços,
> Julio
> :wq
>
> Em 07/05/07, Carlos Ferreira <[EMAIL PROTECTED]>
> escreveu:
>
> >
> > Pessoal,
> > estou com um script shell que recebe dois parametros, preciso testar se
> > estes dois parâmetros tem as seguintes características, todos dois tem
> que
> > ter 12 posições e tem que ser numéricos.
> >
> > Desde já agradeço a todos pela atenção.
> >
> > []s
> >
> > Carlos Ferreira
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Abraços,
> Julio
> http://www.julioneves.com - Um livro sobre Bash completo e on-line
> :wq
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



Re: [shell-script] Teste de parametros

2007-05-08 Por tôpico Bruno Gunter Fricke

muda o && por ||



Em Ter, 2007-05-08 às 14:18 -0300, Carlos Ferreira escreveu:
> Julio,
> coloquei a seguinte linha no meu script:
> [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
> só para testar depois melhoro a mensagem de erro e estou recebendo o
> erro
> abaixo
> $ ./meuscript.sh 12 12
> ./meuscript.sh[24]: 0403-057 Syntax error at line 24 : `&' is not
> expected.
> $
> O meu ambiente de testes esta rodando no AIX Version 5.3
> []s
> 
> -- 
> Carlos Ferreira
> Analista de Desenvolvimento
> Niterói - RJ - Brasil
> LinuxUser #271002
> http://www.carnivorosemdentes.blogger.com.br/
> 
> Em 08/05/07, Julio C. Neves <[EMAIL PROTECTED]> escreveu:
> >
> > No Bash 3:
> >
> > [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
> >
> > Abraços,
> > Julio
> > :wq
> >
> > Em 07/05/07, Carlos Ferreira <[EMAIL PROTECTED] 40gmail.com>>
> > escreveu:
> >
> > >
> > > Pessoal,
> > > estou com um script shell que recebe dois parametros, preciso
> testar se
> > > estes dois parâmetros tem as seguintes características, todos dois
> tem
> > que
> > > ter 12 posições e tem que ser numéricos.
> > >
> > > Desde já agradeço a todos pela atenção.
> > >
> > > []s
> > >
> > > Carlos Ferreira
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > Abraços,
> > Julio
> > http://www.julioneves.com - Um livro sobre Bash completo e on-line
> > :wq
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > 
> >
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
> 
> 
>  


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



Re: [shell-script] Imprimi determinada linha

2007-05-08 Por tôpico Bruno Gunter Fricke
cat arquivo | grep "(mauricy) show" | echo linha



Em Ter, 2007-05-08 às 16:33 +, mauricym escreveu:
> Pessoal
> 
> Tenho um arquivo PS onde preciso que o script ao encontrar determinada
> "ocorrência", imprima esta linha. Exemplo de trecho do arquivo:
> 
> moveto
> (Requesting User: ) RIGHT
> moveto
> (mauricy) show
> 
> ...preciso que sempre que ele "encontrar" a palavra "Requesting User",
> imprima a linha "(mauricy) show", para eu poder tratar em uma
> variável.
> 
> Dá para fazer com sed??
> 
> Obrigado
> 
> Mauricy
> 
> 
> 
> 
> 
>  


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



[shell-script] ftp unix -> windows

2007-05-08 Por tôpico Marcelo Loureiro
pessoal,

alguém tem algum exemplo de shell script que faça ftp de um servidor unix
para um servidor windows ?
tem algum pulo do gato ?

valeu!


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



Re: [shell-script] ftp unix -> windows

2007-05-08 Por tôpico Julio C. Neves
Faça o ftp normal. A única coisa para ficar atento é que se a transmissão
for binária, ficará faltando um carriage return (CR) ao fim de cada linha.
Portanto, normalmente usa-se transmissão no modo asc.

Abraços,
Julio
www.julioneves.com
:wq


Em 08/05/07, Marcelo Loureiro <[EMAIL PROTECTED]> escreveu:
>
>   pessoal,
>
> alguém tem algum exemplo de shell script que faça ftp de um servidor unix
> para um servidor windows ?
> tem algum pulo do gato ?
>
> valeu!
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq


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



[shell-script] Re: sed

2007-05-08 Por tôpico Emiliano Chemello
Oi Junior,

O problema é que eu não quero ver as primeiras linhas do arquivo... 
eu quero ver, na sequência, todas as linhas '10' de cada arquivo. 
Como alterar para mostrar apenas a linha desejada?

Obrigado
Emiliano

--- Em shell-script@yahoogrupos.com.br, edjunior <[EMAIL PROTECTED]> 
escreveu
>
> hey,
> 
> em seu comando, o sed está agrupando todos arquivos em apenas um.
> Creio que o `head` pode fazer isso de uma forma mais simples. Tente:
> 
> $ head -q -n 1 s*.t > teste
> 
> (com o parâmetro '-q', o `head` não imprime o nome dos arquivos)
> 
> hasta!
> 
> jr.
> 
> On 5/3/07, Emiliano Chemello <[EMAIL PROTECTED]> wrote:
> > Oi Gente,
> >
> > Tenho vários arquivos (s100.t, s200.t, s300.t) e gostaria de 
fazer uma
> > pesquisa em todos, procurando pela linha '1' e que estas linhas 
sejam
> > armazenadas em um arquivo 'teste'. Fiz a seguinte linha de 
comando:
> >
> > sed -n 1p s*.t >> teste
> >
> >
> > Só que não funciona. Alguém tem alguma sugestão? Obrigado! 
Emiliano
> >
> >
> >
> > --
---
> > 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
> >
> >
> >
>




Re: [shell-script] Teste de parametros

2007-05-08 Por tôpico Tiago Barcellos Peczenyj
Eu usaria o grep + here strings ;-)

~> echo ${1}:${2}
012345678901:
~> grep -qE '^[0-9]{12}:[0-9]{12}$' <<< ${1}:${2} || echo "erro"
~> set - AAA 1234
~> grep -qE '^[0-9]{12}:[0-9]{12}$' <<< ${1}:${2} || echo "erro"
erro

[]´s Tiago

On 5/8/07, Carlos Ferreira <[EMAIL PROTECTED]> wrote:
>
>   Funcionou tambem não deu este erro:
> 0403-057 Syntax error at line 24 : `|' is not expected.
> []s
> --
> Carlos Ferreira
> Analista de Desenvolvimento
> Niterói - RJ - Brasil
> LinuxUser #271002
> http://www.carnivorosemdentes.blogger.com.br/
> 
>
> Em 08/05/07, Bruno Gunter Fricke <[EMAIL PROTECTED]>
> escreveu:
> >
> >
> > muda o && por ||
> >
> > Em Ter, 2007-05-08 às 14:18 -0300, Carlos Ferreira escreveu:
> > > Julio,
> > > coloquei a seguinte linha no meu script:
> > > [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
> > > só para testar depois melhoro a mensagem de erro e estou recebendo o
> > > erro
> > > abaixo
> > > $ ./meuscript.sh 12 12
> > > ./meuscript.sh[24]: 0403-057 Syntax error at line 24 : `&' is not
> > > expected.
> > > $
> > > O meu ambiente de testes esta rodando no AIX Version 5.3
> > > []s
> > >
> > > --
> > > Carlos Ferreira
> > > Analista de Desenvolvimento
> > > Niterói - RJ - Brasil
> > > LinuxUser #271002
> > > http://www.carnivorosemdentes.blogger.com.br/
> > > 
> > > Em 08/05/07, Julio C. Neves <[EMAIL PROTECTED]
> >
>
> > escreveu:
> > > >
> > > > No Bash 3:
> > > >
> > > > [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
> > > >
> > > > Abraços,
> > > > Julio
> > > > :wq
> > > >
> > > > Em 07/05/07, Carlos Ferreira <[EMAIL PROTECTED]
> 
> >  > > 40gmail.com>>
> > > > escreveu:
> > > >
> > > > >
> > > > > Pessoal,
> > > > > estou com um script shell que recebe dois parametros, preciso
> > > testar se
> > > > > estes dois parâmetros tem as seguintes características, todos dois
> > > tem
> > > > que
> > > > > ter 12 posições e tem que ser numéricos.
> > > > >
> > > > > Desde já agradeço a todos pela atenção.
> > > > >
> > > > > []s
> > > > >
> > > > > Carlos Ferreira
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram removidas]
> > > > >
> > > > >
> > > > >
> > > >
> > > > --
> > > > Abraços,
> > > > Julio
> > > > http://www.julioneves.com - Um livro sobre Bash completo e on-line
> > > > :wq
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


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



Re: [shell-script] Teste de parametros

2007-05-08 Por tôpico Julio C. Neves
Fala Carlos,
qdo o Bruno falou para trocar o && por ||, foi por pq achou que eu tinha
dado uma bobeada na lógica, mas não dei não a minha lógica está certa, pois
qdo o conector é &&, basta um dos testes estar furado (no teu caso o param1
ou o param2 ter tamanho diferente de 12), para furar tudo.

Como eu te disse antes, esta solução é válida para bash 3. No ksh do AIX,
não tenho a mínima idéia se funciona. Acho muito pouco provável. O ksh
estagnou no espaço.

Abração,
Julio
www.julioneves.com
:wq


Em 08/05/07, Carlos Ferreira <[EMAIL PROTECTED]> escreveu:
>
>   Funcionou tambem não deu este erro:
> 0403-057 Syntax error at line 24 : `|' is not expected.
> []s
> --
> Carlos Ferreira
> Analista de Desenvolvimento
> Niterói - RJ - Brasil
> LinuxUser #271002
> http://www.carnivorosemdentes.blogger.com.br/
> 
>
> Em 08/05/07, Bruno Gunter Fricke <[EMAIL PROTECTED]>
> escreveu:
> >
> >
> > muda o && por ||
> >
> > Em Ter, 2007-05-08 às 14:18 -0300, Carlos Ferreira escreveu:
> > > Julio,
> > > coloquei a seguinte linha no meu script:
> > > [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
> > > só para testar depois melhoro a mensagem de erro e estou recebendo o
> > > erro
> > > abaixo
> > > $ ./meuscript.sh 12 12
> > > ./meuscript.sh[24]: 0403-057 Syntax error at line 24 : `&' is not
> > > expected.
> > > $
> > > O meu ambiente de testes esta rodando no AIX Version 5.3
> > > []s
> > >
> > > --
> > > Carlos Ferreira
> > > Analista de Desenvolvimento
> > > Niterói - RJ - Brasil
> > > LinuxUser #271002
> > > http://www.carnivorosemdentes.blogger.com.br/
> > > 
> > > Em 08/05/07, Julio C. Neves <[EMAIL PROTECTED]
> >
>
> > escreveu:
> > > >
> > > > No Bash 3:
> > > >
> > > > [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
> > > >
> > > > Abraços,
> > > > Julio
> > > > :wq
> > > >
> > > > Em 07/05/07, Carlos Ferreira <[EMAIL PROTECTED]
> 
> >  > > 40gmail.com>>
> > > > escreveu:
> > > >
> > > > >
> > > > > Pessoal,
> > > > > estou com um script shell que recebe dois parametros, preciso
> > > testar se
> > > > > estes dois parâmetros tem as seguintes características, todos dois
> > > tem
> > > > que
> > > > > ter 12 posições e tem que ser numéricos.
> > > > >
> > > > > Desde já agradeço a todos pela atenção.
> > > > >
> > > > > []s
> > > > >
> > > > > Carlos Ferreira
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram removidas]
> > > > >
> > > > >
> > > > >
> > > >
> > > > --
> > > > Abraços,
> > > > Julio
> > > > http://www.julioneves.com - Um livro sobre Bash completo e on-line
> > > > :wq
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq


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



Re: [shell-script] AWK com ShellScript

2007-05-08 Por tôpico Julio C. Neves
Fala Michel,
daqui a poucos meses será lançada a 7a. edição do livro. Mas a 3a. edição
está bastante completa e tem um apêndice sobre awk que resolve todo o seu
problema, dando inclusive exemplos semelhantes.

Abração,
Julio
www.julioneves.com
:wq


Em 08/05/07, Michel I. Moreira <[EMAIL PROTECTED]> escreveu:
>
>
> Ok Julio,
>
> De maneira alguma estou ofendido com o que me disse, estou pesquisando e
> refazendo meu codigo. Assim q tiver uma solução mando na lista pra vcs
> comentarem ele.
>
> Outra coisa.estou com um livro seu aqui Programação Shell Linux na 3
> edicao. Este é o mais atual?? Vc indica algum lugar onde posso
> compra-lo???
>
> Obrigado,
>
> Michel Moreira - [EMAIL PROTECTED]/
> [EMAIL PROTECTED] 
> Data Center Team - Powered by Debian 3.1
> +55 19 3031-9791
> +55 19 9138-8630
> Stefanini It Solutions
> GESAC / ID Brasil Project
>
> Julio C. Neves escreveu:
>
> > OK Michel,
> > não se ofenda com o que eu disse. O normal aqui na lista é isso: vc
> > mostra o
> > que fez e nós ajudamos; até pq é bastante provável que seu professor
> > tb faça
> > parte da nossa lista.
> >
> > Se vc não encontrou ajuda sobre awk e não tem problemas com Inglês, veja
> > aqui: http://www.edcomp.com/results/awk+tutorial.html
> > 
> > FAQ - http://www.landfield.com/faqs/computer-lang/awk/faq/
> > 
> > gawk - http://www.gnu.org/software/gawk/gawk.html
> > 
> > manual online - http://www.polaris.net/docs/gawk/
> > 
> >
> > Em Português:
> > http://brlinux.linuxsecurity.com.br/artigos/awk_intro.htm
> > 
> >
> > Mas o Tiago deve ter apostila mais completa em português.
> >
> > Abração,
> > Julio
> > :wq
> >
> > Em 07/05/07, Michel I. Moreira <[EMAIL PROTECTED]
> > > escreveu:
> > >
> > > Desculpe-me
> > >
> > > Acho que não deixei claro.eu não quero que ninguem faça pra
> mim
> > > coloquei o texto pra dar uma geral do problema.
> > >
> > > O que eu quero é saber como tratar com os arquivos. Por exemplo
> > >
> > > como eu pego 1 linha do arquivo1.txt e comparo com todas as linhas do
> > > arquivo2.txt e assim sucessivamente
> > >
> > > Procurei isso em diversos artigos e sites e não encontrei.
> > >
> > > Espero que possam me ajudar .
> > >
> > > Michel.
> > >
> > > Julio C. Neves escreveu:
> > > >
> > > > Fala Michel,
> > > > Não vamos fazer para vc, mas mostre o que vc fez que nós o
> ajudaremos.
> > > >
> > > > Abração,
> > > > Julio
> > > > :wq
> > > >
> > > > Em 07/05/07, Michel I. Moreira <[EMAIL 
> > > > PROTECTED]
> > 
>
> > > > > escreveu:
> > >
> > > > >
> > > > > Boa tarde,
> > > > >
> > > > > Estou estudando AWK e Shell na faculdade, o processo pediu para
> > > > > desenvolvermos um script que use AWK com alguns recursos de
> > shell para
> > > > > analisar log.
> > > > >
> > > > > O Script teria que ler o arquivo de log e pegar outros arquivos
> > > contendo
> > > > > erro, avisos e etc e no final mostrar a quantidade de erros
> > > encontrados.
> > > > >
> > > > > Para deixar mais claro seria algo do tipo. Teria os seguintes
> > arquivos
> > > > >
> > > > > server.log
> > > > > erros.msg
> > > > > avisos.msg
> > > > >
> > > > > Eu executo
> > > > >
> > > > > # ./analisa.sh server.log erros.msg avisos.msg
> > > > >
> > > > > Resultado seria algo assim.
> > > > >
> > > > > Erro  na Linha XXX
> > > > > Aviso  na linha 
> > > > > Erro  na linha XXX
> > > > > Erro  na linha 
> > > > >
> > > > > Total de Erro : 3
> > > > > Total de Aviso: 1
> > > > >
> > > > > Ja tentei de varia maneiras mas não consegui chegar a nenhum
> > > resultado.
> > > > > Como sou novo nessas linguagens não estou conseguindo trabalhar
> com
> > > > > arquivos.
> > > > > Consegui fazer com os erro dentro do script, mas não é forma que o
> > > > > professor que.
> > > > >
> > > > > Já pesquisei em vários e-books sobre o assunto mas não encontrei
> > nada.
> > > > >
> > > > > Alguem pode ajudar
> > > > >
> > > > > Desde ja o meu muito Obrigado
> > > > >
> > > > > Michel
> > > > >
> > > > >
> > > > >
> > > >
> > > > --
> > > > Abraços,
> > > > Julio
> > > > http://www.julioneves.com 
> > > - Um livro sobre
> > > > Bash completo e on-line
> > > > :wq
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > >
> > >
> > >
> >
> > --
> > Abraços,
> > Julio
> > http://www.julioneves.com  - Um livro sobre
> > Bash completo e on-line
> > :wq
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
>
>  
>



-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-l

Re: [shell-script] Teste de parametros

2007-05-08 Por tôpico Bruno Gunter Fricke
É vero. Eu li apenas o erro e não o código do Julio.

[]'s
Bruno Gunter

Em Ter, 2007-05-08 às 15:11 -0300, Julio C. Neves escreveu:
> Fala Carlos,
> qdo o Bruno falou para trocar o && por ||, foi por pq achou que eu
> tinha
> dado uma bobeada na lógica, mas não dei não a minha lógica está certa,
> pois
> qdo o conector é &&, basta um dos testes estar furado (no teu caso o
> param1
> ou o param2 ter tamanho diferente de 12), para furar tudo.
> 
> Como eu te disse antes, esta solução é válida para bash 3. No ksh do
> AIX,
> não tenho a mínima idéia se funciona. Acho muito pouco provável. O ksh
> estagnou no espaço.
> 
> Abração,
> Julio
> www.julioneves.com
> :wq
> 
> Em 08/05/07, Carlos Ferreira <[EMAIL PROTECTED]> escreveu:
> >
> > Funcionou tambem não deu este erro:
> > 0403-057 Syntax error at line 24 : `|' is not expected.
> > []s
> > --
> > Carlos Ferreira
> > Analista de Desenvolvimento
> > Niterói - RJ - Brasil
> > LinuxUser #271002
> > http://www.carnivorosemdentes.blogger.com.br/
> > 
> >
> > Em 08/05/07, Bruno Gunter Fricke <[EMAIL PROTECTED] 40infolink.com.br>>
> > escreveu:
> > >
> > >
> > > muda o && por ||
> > >
> > > Em Ter, 2007-05-08 às 14:18 -0300, Carlos Ferreira escreveu:
> > > > Julio,
> > > > coloquei a seguinte linha no meu script:
> > > > [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
> > > > só para testar depois melhoro a mensagem de erro e estou
> recebendo o
> > > > erro
> > > > abaixo
> > > > $ ./meuscript.sh 12 12
> > > > ./meuscript.sh[24]: 0403-057 Syntax error at line 24 : `&' is
> not
> > > > expected.
> > > > $
> > > > O meu ambiente de testes esta rodando no AIX Version 5.3
> > > > []s
> > > >
> > > > --
> > > > Carlos Ferreira
> > > > Analista de Desenvolvimento
> > > > Niterói - RJ - Brasil
> > > > LinuxUser #271002
> > > > http://www.carnivorosemdentes.blogger.com.br/
> > > > 
> > > > Em 08/05/07, Julio C. Neves <[EMAIL PROTECTED] 40gmail.com>
> > >
> >
> > > escreveu:
> > > > >
> > > > > No Bash 3:
> > > > >
> > > > > [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
> > > > >
> > > > > Abraços,
> > > > > Julio
> > > > > :wq
> > > > >
> > > > > Em 07/05/07, Carlos Ferreira
> <[EMAIL PROTECTED]
> > 
> > >  > > > 40gmail.com>>
> > > > > escreveu:
> > > > >
> > > > > >
> > > > > > Pessoal,
> > > > > > estou com um script shell que recebe dois parametros,
> preciso
> > > > testar se
> > > > > > estes dois parâmetros tem as seguintes características,
> todos dois
> > > > tem
> > > > > que
> > > > > > ter 12 posições e tem que ser numéricos.
> > > > > >
> > > > > > Desde já agradeço a todos pela atenção.
> > > > > >
> > > > > > []s
> > > > > >
> > > > > > Carlos Ferreira
> > > > > >
> > > > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > > --
> > > > > Abraços,
> > > > > Julio
> > > > > http://www.julioneves.com - Um livro sobre Bash completo e
> on-line
> > > > > :wq
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > > > >
> > > > >
> > > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > 
> >
> 
> -- 
> Abraços,
> Julio
> http://www.julioneves.com - Um livro sobre Bash completo e on-line
> :wq
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
> 
> 
>  


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



Re: [shell-script] Re: sed

2007-05-08 Por tôpico Bruno Gunter Fricke
chama o vi passando o ":10". Deve resolver.
Agora, se existir algum trecho exato na linha 10, um simples grep
"trecho exato" funciona. Ou então um inverso, por exemplo não existe um
trecho igual apenas na linha 10. Use o grep -v "trecho".



Em Ter, 2007-05-08 às 18:02 +, Emiliano Chemello escreveu:
> Oi Junior,
> 
> O problema é que eu não quero ver as primeiras linhas do arquivo... 
> eu quero ver, na sequência, todas as linhas '10' de cada arquivo. 
> Como alterar para mostrar apenas a linha desejada?
> 
> Obrigado
> Emiliano
> 
> --- Em shell-script@yahoogrupos.com.br, edjunior <[EMAIL PROTECTED]> 
> escreveu
> >
> > hey,
> > 
> > em seu comando, o sed está agrupando todos arquivos em apenas um.
> > Creio que o `head` pode fazer isso de uma forma mais simples. Tente:
> > 
> > $ head -q -n 1 s*.t > teste
> > 
> > (com o parâmetro '-q', o `head` não imprime o nome dos arquivos)
> > 
> > hasta!
> > 
> > jr.
> > 
> > On 5/3/07, Emiliano Chemello <[EMAIL PROTECTED]> wrote:
> > > Oi Gente,
> > >
> > > Tenho vários arquivos (s100.t, s200.t, s300.t) e gostaria de 
> fazer uma
> > > pesquisa em todos, procurando pela linha '1' e que estas linhas 
> sejam
> > > armazenadas em um arquivo 'teste'. Fiz a seguinte linha de 
> comando:
> > >
> > > sed -n 1p s*.t >> teste
> > >
> > >
> > > Só que não funciona. Alguém tem alguma sugestão? Obrigado! 
> Emiliano
> > >
> > >
> > >
> > > --
> ---
> > > 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
> > >
> > >
> > >
> >
> 
> 
> 
> 
> 
>  


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



[shell-script] Re: Imprimi determinada linha

2007-05-08 Por tôpico mauricym
Ok, mas esqueci de dizer que o usuario no caso "(mauricy) show", o
"mauricy" é o nome do usuário que sempre muda... pensei em alguma
coisa com sed...

Mauricy


--- Em shell-script@yahoogrupos.com.br, Bruno Gunter Fricke
<[EMAIL PROTECTED]> escreveu
>
> cat arquivo | grep "(mauricy) show" | echo linha
> 
> 
> 
> Em Ter, 2007-05-08 às 16:33 +, mauricym escreveu:
> > Pessoal
> > 
> > Tenho um arquivo PS onde preciso que o script ao encontrar determinada
> > "ocorrência", imprima esta linha. Exemplo de trecho do arquivo:
> > 
> > moveto
> > (Requesting User: ) RIGHT
> > moveto
> > (mauricy) show
> > 
> > ...preciso que sempre que ele "encontrar" a palavra "Requesting User",
> > imprima a linha "(mauricy) show", para eu poder tratar em uma
> > variável.
> > 
> > Dá para fazer com sed??
> > 
> > Obrigado
> > 
> > Mauricy
> > 
> > 
> > 
> > 
> > 
> >  
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




Re: [shell-script] Re: sed

2007-05-08 Por tôpico edjunior
hey,

se você quer apenas a décima linha, então acho que fica mais fácil usar o sed:

for  i in `ls -1 s*.t`; do
sed -n '10p' $i >> teste
done

Semelhante a proposta anteriormente pelo Anderson, usando um laço
'for' pra passar o sed por cada arquivo separadamente.

hasta!

jr.

On 5/8/07, Emiliano Chemello <[EMAIL PROTECTED]> wrote:
> Oi Junior,
>
> O problema é que eu não quero ver as primeiras linhas do arquivo...
> eu quero ver, na sequência, todas as linhas '10' de cada arquivo.
> Como alterar para mostrar apenas a linha desejada?
>
> Obrigado
> Emiliano
>
> --- Em shell-script@yahoogrupos.com.br, edjunior <[EMAIL PROTECTED]>
> escreveu
> >
> > hey,
> >
> > em seu comando, o sed está agrupando todos arquivos em apenas um.
> > Creio que o `head` pode fazer isso de uma forma mais simples. Tente:
> >
> > $ head -q -n 1 s*.t > teste
> >
> > (com o parâmetro '-q', o `head` não imprime o nome dos arquivos)
> >
> > hasta!
> >
> > jr.
> >
> > On 5/3/07, Emiliano Chemello <[EMAIL PROTECTED]> wrote:
> > > Oi Gente,
> > >
> > > Tenho vários arquivos (s100.t, s200.t, s300.t) e gostaria de
> fazer uma
> > > pesquisa em todos, procurando pela linha '1' e que estas linhas
> sejam
> > > armazenadas em um arquivo 'teste'. Fiz a seguinte linha de
> comando:
> > >
> > > sed -n 1p s*.t >> teste
> > >
> > >
> > > Só que não funciona. Alguém tem alguma sugestão? Obrigado!
> Emiliano
> > >
> > >
> > >
> > > --
> ---
> > > 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
> > >
> > >
> > >
> >
>
>
>
>
> -
> 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
>
>
>


Re: [shell-script] Re: sed

2007-05-08 Por tôpico Tiago Barcellos Peczenyj
Não precisa do for, basta usar a opção -s

sed -sn '10p' arqui*vos > linha_10_de_cada_arquivo

Do man sed:

 -n, --quiet, --silent
  suppress automatic printing of pattern space

 -s, --separate
  consider files as separate rather than as a single continuous
long stream.

[]´s Tiago

On 5/8/07, edjunior <[EMAIL PROTECTED]> wrote:
>
>   hey,
>
> se você quer apenas a décima linha, então acho que fica mais fácil usar o
> sed:
>
> for i in `ls -1 s*.t`; do
> sed -n '10p' $i >> teste
> done
>
> Semelhante a proposta anteriormente pelo Anderson, usando um laço
> 'for' pra passar o sed por cada arquivo separadamente.
>
> hasta!
>
> jr.
>
>
> On 5/8/07, Emiliano Chemello <[EMAIL PROTECTED]>
> wrote:
> > Oi Junior,
> >
> > O problema é que eu não quero ver as primeiras linhas do arquivo...
> > eu quero ver, na sequência, todas as linhas '10' de cada arquivo.
> > Como alterar para mostrar apenas a linha desejada?
> >
> > Obrigado
> > Emiliano
> >
> > --- Em shell-script@yahoogrupos.com.br,
> edjunior <[EMAIL PROTECTED]>
> > escreveu
> > >
> > > hey,
> > >
> > > em seu comando, o sed está agrupando todos arquivos em apenas um.
> > > Creio que o `head` pode fazer isso de uma forma mais simples. Tente:
> > >
> > > $ head -q -n 1 s*.t > teste
> > >
> > > (com o parâmetro '-q', o `head` não imprime o nome dos arquivos)
> > >
> > > hasta!
> > >
> > > jr.
> > >
> > > On 5/3/07, Emiliano Chemello <[EMAIL PROTECTED]> wrote:
> > > > Oi Gente,
> > > >
> > > > Tenho vários arquivos (s100.t, s200.t, s300.t) e gostaria de
> > fazer uma
> > > > pesquisa em todos, procurando pela linha '1' e que estas linhas
> > sejam
> > > > armazenadas em um arquivo 'teste'. Fiz a seguinte linha de
> > comando:
> > > >
> > > > sed -n 1p s*.t >> teste
> > > >
> > > >
> > > > Só que não funciona. Alguém tem alguma sugestão? Obrigado!
> > Emiliano
> > > >
> > > >
> > > >
> > > > --
> > ---
> > > > 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
> > > >
> > > >
> > > >
> > >
> >
> >
> >
> >
> > --
> > 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
> >
> >
> >
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


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



Re: [shell-script] Re: Imprimi determinada linha

2007-05-08 Por tôpico Bruno Gunter Fricke
sempre tem ('usuario') show? Basta usar expr \^(.*) show\



Em Ter, 2007-05-08 às 18:42 +, mauricym escreveu:
> Ok, mas esqueci de dizer que o usuario no caso "(mauricy) show", o
> "mauricy" é o nome do usuário que sempre muda... pensei em alguma
> coisa com sed...
> 
> Mauricy
> 
> --- Em shell-script@yahoogrupos.com.br, Bruno Gunter Fricke
> <[EMAIL PROTECTED]> escreveu
> >
> > cat arquivo | grep "(mauricy) show" | echo linha
> > 
> > 
> > 
> > Em Ter, 2007-05-08 às 16:33 +, mauricym escreveu:
> > > Pessoal
> > > 
> > > Tenho um arquivo PS onde preciso que o script ao encontrar
> determinada
> > > "ocorrência", imprima esta linha. Exemplo de trecho do arquivo:
> > > 
> > > moveto
> > > (Requesting User: ) RIGHT
> > > moveto
> > > (mauricy) show
> > > 
> > > ...preciso que sempre que ele "encontrar" a palavra "Requesting
> User",
> > > imprima a linha "(mauricy) show", para eu poder tratar em uma
> > > variável.
> > > 
> > > Dá para fazer com sed??
> > > 
> > > Obrigado
> > > 
> > > Mauricy
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > 
> > 
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> 
> 
> 
> 
> 
>  


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



[shell-script] autenticação ssh

2007-05-08 Por tôpico raoni_ba
Olá pessoal!

Sou novo em shell e gostaria, se possível, que vcs me dessem uma
mãozinha...

Tenho uma rede com aproximadamente 25 máquinas e preciso parar o
serviço de rede ativo (eth0) de todas elas. Para isso, eu entro em
máquina por máquina via ssh e dou o comando "ifdown eth0". 
Tem como desenvolver um script para acessar (como root e autenticando)
cada uma das máquinas e ir derrubando uma por uma? 

Obs: todas as máquinas possuem a mesma senha de root.

Desde já agradeço a atenção!

Abraço,
Raoni



Re: [shell-script] autenticação ssh

2007-05-08 Por tôpico Jeann Wilson
Tem sim este script é muito simples, mas antes vc precisa criar uma chave no
ssh e colocar em cada servidor no arquivo authorized_keys dentro da pasta
.ssh, isso para que vc não precise passar o parametro nome e senha dentro do
script

# !/bin/sh

# Servidor 01
ssh -l root nome_do_servidor1
ifdown eth0

# Servidor 2
ssh -l root nome_do_servidor2
ifdown eth0


etc.



Em 08/05/07, raoni_ba <[EMAIL PROTECTED]> escreveu:
>
>   Olá pessoal!
>
> Sou novo em shell e gostaria, se possível, que vcs me dessem uma
> mãozinha...
>
> Tenho uma rede com aproximadamente 25 máquinas e preciso parar o
> serviço de rede ativo (eth0) de todas elas. Para isso, eu entro em
> máquina por máquina via ssh e dou o comando "ifdown eth0".
> Tem como desenvolver um script para acessar (como root e autenticando)
> cada uma das máquinas e ir derrubando uma por uma?
>
> Obs: todas as máquinas possuem a mesma senha de root.
>
> Desde já agradeço a atenção!
>
> Abraço,
> Raoni
>
>  
>



-- 
1º Ten QOBM/Comb Jeann Wilson Aguiar Cavalcante
Chefe da Seção de Redes do CBMDF
Tel: (0xx61) 3901-8742 / Fax:(0XX61) 3901-8612
Cel: (0xx61) 8401-5749
site: http://www.melhordetudo.com


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



Re: [shell-script] autenticação ssh

2007-05-08 Por tôpico Eduardo Otubo
Uma vez que você tenha a autenticação pelas chaves pública e privada,
você pode usar da seguinte forma:

$ ssh [EMAIL PROTECTED](ip) "comando";

Onde comando, obviamente, pode ser o seu ifdown eth0. O que eu não
sei, é se a sessão SSH vai travar se tu fizer isso, na pior das
hipóteses acho que vai cair. O que pode fazer alterar sua saída de
erro...

[]'s

On 5/8/07, Jeann Wilson <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
> Tem sim este script é muito simples, mas antes vc precisa criar uma chave no
>  ssh e colocar em cada servidor no arquivo authorized_keys dentro da pasta
>  .ssh, isso para que vc não precise passar o parametro nome e senha dentro do
>  script
>
>  # !/bin/sh
>
>  # Servidor 01
>  ssh -l root nome_do_servidor1
>  ifdown eth0
>
>  # Servidor 2
>  ssh -l root nome_do_servidor2
>  ifdown eth0
>
>  etc.
>
>  Em 08/05/07, raoni_ba <[EMAIL PROTECTED]> escreveu:
>  >
>  >   Olá pessoal!
>  >
>  > Sou novo em shell e gostaria, se possível, que vcs me dessem uma
>  > mãozinha...
>  >
>  > Tenho uma rede com aproximadamente 25 máquinas e preciso parar o
>  > serviço de rede ativo (eth0) de todas elas. Para isso, eu entro em
>  > máquina por máquina via ssh e dou o comando "ifdown eth0".
>  > Tem como desenvolver um script para acessar (como root e autenticando)
>  > cada uma das máquinas e ir derrubando uma por uma?
>  >
>  > Obs: todas as máquinas possuem a mesma senha de root.
>  >
>  > Desde já agradeço a atenção!
>  >
>  > Abraço,
>  > Raoni
>  >
>  >
>  >
>
>  --
>  1º Ten QOBM/Comb Jeann Wilson Aguiar Cavalcante
>  Chefe da Seção de Redes do CBMDF
>  Tel: (0xx61) 3901-8742 / Fax:(0XX61) 3901-8612
>  Cel: (0xx61) 8401-5749
>  site: http://www.melhordetudo.com
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>



-- 
Eduardo Otubo
Linux Registered User #424252
http://z3r00.blogspot.com/

|_|0|_|
|_|_|0|
|0|0|0|


[shell-script] [Moderação] Analisador Fex lexico URGENTE

2007-05-08 Por tôpico Julio C. Neves
Rafael,
isso é uma lista sobre shell e onde se fala somente sobre esta linguafem.
Repare que no rodapé de todas as msgs vem escrito o seguinte:
-
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.
-
Porém, como sou um cara legal ;-), vou dar-lhe outra oportunidade, mas,
enquanto isso, sinta-se advertido.

Abração,
Julio
:wq



Em 08/05/07, Rafael Yahoo <[EMAIL PROTECTED]> escreveu:
>
>   Turma eu tenho um grande problema em maos e nao sei como trata-lo fiz de
> tudo mas nao sou tao bom assim para escrever um codigo que reconheca todos
> os simbolos , constants numericas, etc.
>
> Alguém ai jah fez ou tem conhecimento sobre analisador LEXICO, FLEX? Tem
> como me ajudar com esse código?
>
> Muito obrigado mesmo!!!
>
> Abraço Rafael Torres de Almeida
>
> #include
>
> #include
>
> %{
>
> int num_linha = 1, num_carac = 0;
>
> %}
>
> %option noyywrap
>
> DIG [0-9]
>
> ID [a-zA-Z][a-zA-Z0-9]*
>
> SIM
>
> "="|"+"|"-"|"*"|"/"|"{"|"}"|"("|")"|";"|"++"|"+="|"--"|"-="|"->"|"."|\"|"'"|
> \\
>
> %%
>
> {SIM} {
>
> ++num_carac;
>
> printf("Classe: Simbolos \n");
>
> printf("Valor: %s
> \n", yytext);
>
> printf("Posicao: Lin %d , Col %d \n", num_linha, num_carac);
>
> }
>
> {DIG}* {
>
> ++num_carac;
>
> printf("Classe: Constante Numerica
> \n");
>
> printf("Valor: %s (%d)\n", yytext);
>
> printf("Posicao: Lin %d , Col %d \n", num_linha, num_carac);
>
> }
>
> {ID} {
>
> ++num_carac;
>
> printf("Classe: Identificador
> \n");
>
> printf("Valor:
> %s \n", yytext);
>
> printf("Posicao: Lin %d , Col
> %d \n", num_linha, num_carac);
>
> }
>
> \n {
>
> ++num_linha;
>
> num_carac = 0;
>
> }
>
> . {
>
> ++num_carac;
>
> printf("Caracter
> Desconhecido: %s\n", yytext );
>
> }
>
> %%
>
> main( argc, argv )
>
> int argc;
>
> char **argv;
>
> {
>
> ++argv, --argc;
>
> if ( argc > 0 ){
>
> yyin = fopen( argv[0], "r" );
>
> }
>
> else{
>
> yyin = stdin;
>
> }
>
> yylex();
>
> }
>
> _
>
> De: shell-script@yahoogrupos.com.br 
> [mailto:
> shell-script@yahoogrupos.com.br ]
> Em nome de Darlon
> Enviada em: Monday, May 07, 2007 1:52 PM
> Para: shell-script@yahoogrupos.com.br 
> Assunto: Re: [shell-script] tr? awk? cut?
>
> Tenta esse
>
> awk -F ":" '{split($2,x,","); for (i in x) print $1 >> x[i]}' arquivo
>
> On 5/7/07, Tiago Barcellos Peczenyj   gmail.com> wrote:
> >
> > Uma das formas poderia ser esta
> >
> > awk 'BEGIN{FS="[:,]"} # separador de campo : ou ,
> > {
> > for(i=2;i<=NF;i++){ # varre todas as 'tags' $1 é o
> > usuario
> > A[$i]++ # contamos quantas vezes
> > aparece o nome da 'tag'
> > if (A[$i] == 1) print $i > $i".txt" # se 1* vez imprime cabeçalho
> > print $1 >> $i".txt" # adiciona nome
> > }
> > }' arquivo
> >
> > use com cuidado ;-)
> >
> > On 5/7/07, Pedro Drimel mailto:pedrodrimel%40gmail.com>
> gmail.com >
> > wrote:
> > >
> > > Bom dia a todos...
> > >
> > > Tenho um arquivo na seguinte estrutura
> > >
> > > usuario1:abc,xxx,zzz
> > > usuario2:xxx
> > > usuario3:zzz
> > > usuario4:xxx,abc
> > >
> > > preciso gerar um arquivo ou até varios (abc.txt xxx.txt) contendo
> > >
> > > abc
> > > usuario1
> > > usuario4
> > >
> > > xxx
> > > usuario1
> > > usuario2
> > > usuario4
> > >
> > > zzz
> > > usuario1
> > > usuario3
> > >
> > > Alguma idéia?
> > >
> > > Obrigado.
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > Tiago B Peczenyj
> > Linux User #405772
> >
> > # cd /pub
> > # more beer
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> --
> O sistema pediu:"Requires Windows 9x, Windows 2000 or better".
> Então eu instalei Linux.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq


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



Re: [shell-script] Re: sed

2007-05-08 Por tôpico edjunior
hey,
muito legal esse parâmetro '-s' do sed que eu realmente desconhecia,
Tiago.   Assim economizamos vários forks :)

jr.

On 5/8/07, Tiago Barcellos Peczenyj <[EMAIL PROTECTED]> wrote:
> Não precisa do for, basta usar a opção -s
>
> sed -sn '10p' arqui*vos > linha_10_de_cada_arquivo
>
> Do man sed:
>
>  -n, --quiet, --silent
>   suppress automatic printing of pattern space
>
>  -s, --separate
>   consider files as separate rather than as a single continuous
> long stream.
>
> []´s Tiago
>
> On 5/8/07, edjunior <[EMAIL PROTECTED]> wrote:
> >
> >   hey,
> >
> > se você quer apenas a décima linha, então acho que fica mais fácil usar o
> > sed:
> >
> > for i in `ls -1 s*.t`; do
> > sed -n '10p' $i >> teste
> > done
> >
> > Semelhante a proposta anteriormente pelo Anderson, usando um laço
> > 'for' pra passar o sed por cada arquivo separadamente.
> >
> > hasta!
> >
> > jr.
> >
> >
> > On 5/8/07, Emiliano Chemello <[EMAIL PROTECTED]>
> > wrote:
> > > Oi Junior,
> > >
> > > O problema é que eu não quero ver as primeiras linhas do arquivo...
> > > eu quero ver, na sequência, todas as linhas '10' de cada arquivo.
> > > Como alterar para mostrar apenas a linha desejada?
> > >
> > > Obrigado
> > > Emiliano
> > >
> > > --- Em shell-script@yahoogrupos.com.br,
> > edjunior <[EMAIL PROTECTED]>
> > > escreveu
> > > >
> > > > hey,
> > > >
> > > > em seu comando, o sed está agrupando todos arquivos em apenas um.
> > > > Creio que o `head` pode fazer isso de uma forma mais simples. Tente:
> > > >
> > > > $ head -q -n 1 s*.t > teste
> > > >
> > > > (com o parâmetro '-q', o `head` não imprime o nome dos arquivos)
> > > >
> > > > hasta!
> > > >
> > > > jr.
> > > >
> > > > On 5/3/07, Emiliano Chemello <[EMAIL PROTECTED]> wrote:
> > > > > Oi Gente,
> > > > >
> > > > > Tenho vários arquivos (s100.t, s200.t, s300.t) e gostaria de
> > > fazer uma
> > > > > pesquisa em todos, procurando pela linha '1' e que estas linhas
> > > sejam
> > > > > armazenadas em um arquivo 'teste'. Fiz a seguinte linha de
> > > comando:
> > > > >
> > > > > sed -n 1p s*.t >> teste
> > > > >
> > > > >
> > > > > Só que não funciona. Alguém tem alguma sugestão? Obrigado!
> > > Emiliano
> > > > >
> > > > >
> > > > >
> > > > > --
> > > ---
> > > > > 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
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> > >
> > >
> > > --
> > > 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
> > >
> > >
> > >
> >
> >
> >
>
>
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> # cd /pub
> # more beer
>
>
> [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: [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
>
>
>


[shell-script] Redirecionando a saída de erro para uma varável

2007-05-08 Por tôpico Thomaz de Oliveira dos Reis
Tem alguma forma de fazer isso, sem usar 1 arquivo?

por ex:

VARIAVEL=$(ls -l)

agora se eu quiser a saida de erro do programa, como eu faria?

[]'s!!


[shell-script] Quebrar arquivo em partes menores

2007-05-08 Por tôpico Wagner_D
Olá lista,
Estou quebrando cabeça e não consigo solucionar esse problema, vou
tentar explicar abaixo o q tenho e o q preciso:

Tenho um arquivo nesse padrão:

# Rede de Clientes 1
#


#
#   Resevado#
# Regras  : x -> y  #
# Queues  : z -> h  #
# Pipes   : w -> j  #
#


# FIM REGRAS Rede de Clientes 1
#



# Rede de Clientes 2
#


#
#   Resevado#
# Regras  : x -> y  #
# Queues  : z -> h  #
# Pipes   : w -> j  #
#


# FIM REGRAS Rede de Clientes 2
#


 Gostaria de fazer um script que pegasse as informações contidas
entre as frases "Rede de Clientes 1" e "FIM REGRAS Rede de Clientes 1"
e largasse em um arquivo "1" e pegasse as informações contidas entre
"Rede de Clientes 2" e "FIM REGRAS Rede de Clientes 2" e largasse em
um arquivo "2".

 Qualquer idéia será bem vinda.

-- 
[]'s
Wagner_D


Re: [shell-script] Teste de parametros

2007-05-08 Por tôpico Carlos Ferreira
Funcionou tambem não deu este erro:
 0403-057 Syntax error at line 24 : `|' is not expected.
[]s
-- 
Carlos Ferreira
Analista de Desenvolvimento
Niterói - RJ - Brasil
LinuxUser  #271002
http://www.carnivorosemdentes.blogger.com.br/


Em 08/05/07, Bruno Gunter Fricke <[EMAIL PROTECTED]> escreveu:
>
>
> muda o && por ||
>
> Em Ter, 2007-05-08 às 14:18 -0300, Carlos Ferreira escreveu:
> > Julio,
> > coloquei a seguinte linha no meu script:
> > [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
> > só para testar depois melhoro a mensagem de erro e estou recebendo o
> > erro
> > abaixo
> > $ ./meuscript.sh 12 12
> > ./meuscript.sh[24]: 0403-057 Syntax error at line 24 : `&' is not
> > expected.
> > $
> > O meu ambiente de testes esta rodando no AIX Version 5.3
> > []s
> >
> > --
> > Carlos Ferreira
> > Analista de Desenvolvimento
> > Niterói - RJ - Brasil
> > LinuxUser #271002
> > http://www.carnivorosemdentes.blogger.com.br/
> > 
> > Em 08/05/07, Julio C. Neves <[EMAIL PROTECTED]>
> escreveu:
> > >
> > > No Bash 3:
> > >
> > > [[ $1~=[0-9]{12} && $2~=[0-9]{12} ]] || echo parametro furado.
> > >
> > > Abraços,
> > > Julio
> > > :wq
> > >
> > > Em 07/05/07, Carlos Ferreira <[EMAIL PROTECTED]
>  > 40gmail.com>>
> > > escreveu:
> > >
> > > >
> > > > Pessoal,
> > > > estou com um script shell que recebe dois parametros, preciso
> > testar se
> > > > estes dois parâmetros tem as seguintes características, todos dois
> > tem
> > > que
> > > > ter 12 posições e tem que ser numéricos.
> > > >
> > > > Desde já agradeço a todos pela atenção.
> > > >
> > > > []s
> > > >
> > > > Carlos Ferreira
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > > --
> > > Abraços,
> > > Julio
> > > http://www.julioneves.com - Um livro sobre Bash completo e on-line
> > > :wq
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



[shell-script] OFF: Oportunidade Desenvolvedor WEB - Rio de Janeiro - Barra da Tijuca

2007-05-08 Por tôpico rogerio carrasqueira
Pessoal,

Olá! Oferta de vaga para desenvolvedor WEB no Rio de Janeiro, na Barra
da Tijuca, segue abaixo o perfil do candidato procurado:

Conhecimento em algumas das linguagens abaixo:
- ASP.NET (Desejável)
- ASP (Necessário)
- PHP (Necessário)
- ColdFusion (Desejável)
- Java (Desejável)

Conhecimento de liguagem de SQL e arquitetura em alguns dos SGBDs abaixo:
- MS SQL Server (Necessário)
- MySQL (Desejável)
- PostgresSQL (Desejável)

Desejável conhecimento sobre WEB 2.0, Tabless e AJAX
Necessário conhecimento sobre Sistemas Operacionais Windows e/ou Linux

Perfil pró-ativo, empreendedor e arrojado.

O candidato pode estar cursando graduação em informática, ciências da
computação, matemática computacional ou física aplicada.
Preferência para quem morar próximo a Barra da Tijuca, Jacarepaguá,
Grande Tijuca e Zona Sul.

Enviar currículos com pretensão salarial para [EMAIL PROTECTED],

[]´s

-- 
Rogério Carrasqueira