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
formating número cordas nhatch UNIX para Dummies Perguntas & Respostas 10 04-28-2009 01:55
Parse além de strings separados por vírgulas dados com número variável de campos 2reperry Programação Shell Script e 7 09-12-2008 02:33
como fazer pesquisa com 2 cordas. syamkp Programação Shell Script e 2 03-10-2008 04:50
Pesquisa entre cordas com uma OU pbsrinivas Programação Shell Script e 3 07-12-2007 05:46
Procurar por cordas lesstjm UNIX para Dummies Perguntas & Respostas 5 04-26-2002 10:58

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 11-14-2008
CarlosNC CarlosNC is offline
Usuário
  
 

Join Date: Oct 2008
Posts: 6
Número variável de awk pesquisa cordas

Criei um script awk que processa um número variável de pesquisa cordas entregou a ela como parâmetros da linha de comando ($ 1 $ 2, etc.) Não pode ser 1 ou 2 ou 3 ou mais. Uma versão simplificada do script é:


Código:
awk -v TYP="$1 $2 $3 $4 $5 $6" '
  BEGIN {
       CTYP = split (TYP,TYPP," ")
  }
   {for ( i=1; i <= CTYP; i++ ) {
           if ($0 ~ TYPP[i]) {print; break}
      }}
 ' file1 > file2
exit 0

Isto funciona, mas não é eficiente em tudo.
Poderá alguém sugeriu um método alternativo para lidar com este cenário? Qualquer ajuda é apreciada.

Obrigado.
  #2 (permalink)  
Old 11-14-2008
jim McNAMARA jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Localização: NM
Mensagens: 5.811

Código:
#!/bin/ksh
set -A arr $@
cnt=0
while [[ cnt -lt ${#arr[*]} ]]
do
      echo ${arr[cnt]} 
      cnt=$$(( cnt + 1))
done > tmp.tmp
grep -f tmp.tmp mybigfile

  #3 (permalink)  
Old 11-24-2008
CarlosNC CarlosNC is offline
Usuário
  
 

Join Date: Oct 2008
Posts: 6
Obrigado Jim, isso faz sentido usar grep, mas eu deveria ter sido mais clara, precisa de ser awk porque não há mais para o meu script, mas é removido para simplificar o meu post aqui. Eu uso aqui porque eu awk extrair outras informações relacionadas com os acessos a partir do arquivo também.
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:18.


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