The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Parâmetros em loop mgirinath Programação Shell Script e 3 03-18-2008 10:20
Urgente: Comparando duas strings usando Se Loop Anji Programação Shell Script e 2 01-09-2008 08:54
Ler a partir de um arquivo e usar as cordas em um loop xboxer21 Programação Shell Script e 3 04-18-2006 04:30
Como concatenar duas strings ou várias seqüências em uma corda em B-shell? jarialto Programação Shell Script e 2 08-26-2005 12:58
como obter a função semelhante no ciclo while ou para loop trynew Programação Shell Script e 3 06-17-2002 12:09

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-23-2006
kadishmj kadishmj is offline
Usuário
  
 

Join Date: Feb 2005
Lugares: 11
Para Loop com Strings como parâmetros

Estou tentando criar um script com um loop para que tomem em cordas como os parâmetros. Alguns dos textos têm espaços em si mesmas, e eu não posso começá-lo para funcionar corretamente. Por exemplo:


Código:
#!/bin/ksh

INFILE=snapshot.log
OUTFILE=summary.out

a="Lock waits"
b="Deadlocks detected"

for PARAM in ${a} ${b}
do
   /usr/bin/grep ${PARAM} ${INFILE} >> ${OUTFILE}
done

Quero que o ciclo de executar 2 vezes, mas é 4 vezes execução com os seguintes valores para PARAM:

1. Repercutir - Fechamento
2. Pass - aguarda
3. Passe - deadlocks
4. Passe - detectado

Tentei colocar o texto em aspas duplas e simples, mas que não parece ser para ajudar. Qualquer idéias?
  #2 (permalink)  
Old 06-23-2006
Doc_RuNNeR Doc_RuNNeR is offline
Usuário
  
 

Join Date: Jun 2006
Lugares: 17
Eu não sei muito de Inglês e vou tentar explicá-lo. Se você tiver mais perguntas, pode perguntar novamente . Ok o sistema tem uma variável, que utiliza a malha de saber quantos parâmetros tiver o arquivo, por exemplo, um texto. A variável tem espaço, guias e retorno (claro que de todos os convinations).

A RESPOSTA

$ cat> exemplo
espaços \u003d # IFS IFS é a variável de sistema
IFS \u003d "# Nós inicializating IFS \u003d retorno para toda a linha tae
"
........................
........................
IFS \u003d $ espaços # Utilizamos o var espaços para dar o valor a IFS againwhen acabamos
unset espaços

Tchau
  #3 (permalink)  
Old 06-23-2006
kadishmj kadishmj is offline
Usuário
  
 

Join Date: Feb 2005
Lugares: 11
Obrigado por olhar para esta Doc_RuNNeR, mas eu não entendo a sua solução
  #4 (permalink)  
Old 06-23-2006
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Join Date: Jul 2001
Localização: Portland, OR, E.U.A.
Posts: 1.584
Experimente:

Código:
for PARAM in "${a}" "${b}"

  #5 (permalink)  
Old 06-23-2006
Doc_RuNNeR Doc_RuNNeR is offline
Usuário
  
 

Join Date: Jun 2006
Lugares: 17
#! / bin / ksh

espaços \u003d IFS
IFS \u003d "
"
for i in "Olá mundo"
fazer
echo $ i
feito
IFS \u003d $ espaços

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

Experimente esse script
  #6 (permalink)  
Old 06-26-2006
kadishmj kadishmj is offline
Usuário
  
 

Join Date: Feb 2005
Lugares: 11
Obrigado por todos os sugestões. Finalmente eu entendi trabalho:


Código:
OUTFILE=summary.out
a='Deadlocks detected'
b='Lock escalations'

for PARAM in "${a}" "${b}"
do

 echo ${PARAM}

 COUNT=1

   while ((COUNT < 41))
   do
      INFILE=DB2Snapshot_${1}_${COUNT}.log
      /usr/bin/grep "${PARAM}" ${INFILE} >> ${OUTFILE}

   ((COUNT=COUNT+1))
   done
done

  #7 (permalink)  
Old 10-06-2008
er_aparna er_aparna is offline
Usuário
  
 

Join Date: Feb 2006
Lugares: 52
obtendo espaços durante a leitura do arquivo de loop

Oi,

Estou recebendo problema semelhante,
mas no meu caso estou buscando valor variável a partir de um ficheiro e, em seguida, eco do valor, mas a sua análise espaços no arquivo. para exmp:

arquivo - temp1 tem conteúdo em aspas
"nome do grupo utilizado para comunicar com x serviço"
"grupo nome usado para se comunicar com y serviço"

i utilizado para loop:
para var in `cat" temp1 "`
fazer
echo "DESC \u003d $ var";
feito


a saída desejada é
DESC \u003d "nome do grupo utilizado para comunicar com x serviço";
DESC \u003d "nome do grupo utilizado para comunicar com o serviço y";

No entanto, a produção é proveniente
DESC \u003d "grupo";
DESC \u003d "nome";

sua leitura espaços também ...

Pls sugerem ...............

Thanks in advance
Aparna
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 11:50.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0