The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

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
foreach loop + 2 variáveis JamesGoh Programação Shell Script e 3 06-04-2008 04:36
utilizando variáveis fora de um ciclo while Tornado Programação Shell Script e 2 02-09-2007 01:26
adição de variáveis, para loop jazz Alto Nível de programação 3 03-13-2006 04:23
Escrever a variáveis dentro de um loop Sniper Pixie UNIX para Dummies Perguntas & Respostas 0 03-02-2006 09:11
Para loop com múltiplas variáveis? fosterian Programação Shell Script e 3 03-01-2004 05:15

Reply
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 07-30-2008
marcpascual marcpascual is offline
Usuário
  
 

Join Date: Sep 2005
Lugares: 35
SH: duas variáveis do ciclo for

Oi, dizer que tenho um sh script simples como este:

Código:
for i in a b c d
        do
                for j in 1 2 3 4
                        do
                                echo "$i $j"
                        done
        done
ea saída é

Código:
 a 1
 a 2
 a 3
 a 4
 b 1
 b 2
 b 3
 b 4
 c 1
 c 2
 c 3
 c 4
 d 1
 d 2
 d 3
 d 4
Como faço para fazer a sua produção como essa?

Código:
a 1
b 2
c 3
d 4
TIA
  #2 (permalink)  
Old 07-30-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361

Não use dois loops.

Código:
n=1
for l in a b c d
do
   printf "%s %d\n" "$l" "$n"
   n=$(( $n + 1 ))
done
  #3 (permalink)  
Old 07-30-2008
marcpascual marcpascual is offline
Usuário
  
 

Join Date: Sep 2005
Lugares: 35
Obrigado, eu preciso de voltar a qualificar a minha pergunta:

E se o seu número e não um que você não pode fazer matemática sobre ela?

por exemplo
List1:
mary
véspera
Delilah

List2:
joseph
adam
Samson

Saída:
mary joseph
Adam véspera
Samson Delilah


para i em `gato List1»; ... para j em `gato List2»; ... fazer ... print $ i $ j ... feito

qualquer maneira de contornar isso?
  #4 (permalink)  
Old 07-31-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361
Citação:
Originally Posted by marcpascual View Post
Obrigado, eu preciso de voltar a qualificar a minha pergunta:

E se o seu número e não um que você não pode fazer matemática sobre ela?

por exemplo
List1:
mary
véspera
Delilah

List2:
joseph
adam
Samson

Saída:
mary joseph
Adam véspera
Samson Delilah


para i em `gato List1»; ... para j em `gato List2»; ... fazer ... print $ i $ j ... feito

qualquer maneira de contornar isso?
Código:
set -f
IFS='
'
set -- $( cat list2 )
for i in `cat list1`
do
  printf "%s %s\n" "$i" "$1"
  shift
done
  #5 (permalink)  
Old 07-31-2008
danmero danmero is offline Forum Advisor  
  
 

Join Date: Nov 2007
Localização: 45,48-73,63
Mensagens: 1.428
Citação:
Originally Posted by cfajohnson View Post
Código:
set -f
IFS='
'
set -- $( cat list2 )
for i in `cat list1`
do
  printf "%s %s\n" "$i" "$1"
  shift
done
KISS princípio afirma que o design simplicidade deve ser uma meta fundamental e desnecessária complexidade evitada.
Código:
paste -d ' ' list1 list2

Última edição por danmero; em 07-31-2008 12:40..
  #6 (permalink)  
Old 08-01-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361
Citação:
Originally Posted by danmero View Post
KISS princípio afirma que o design simplicidade deve ser uma meta fundamental e desnecessária complexidade evitada.
Código:
paste -d ' ' list1 list2

Isso funciona para esse caso específico, mas não aborda o problema geral, como inicialmente colocados.
  #7 (permalink)  
Old 07-31-2008
marcpascual marcpascual is offline
Usuário
  
 

Join Date: Sep 2005
Lugares: 35
incrível, obrigado!
Reply

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 04:08.


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