The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
foretrukne sløjfe + 2 variabler JamesGoh Shell Programmering og Scripting 3 06-04-2008 04:36 AM
bruger variabler uden en samtidig loop Tornado Shell Programmering og Scripting 2 02-09-2007 01:26 AM
tilføje variabler til, for løkke jazz Højtstående Programmering 3 03-13-2006 04:23 AM
Skriftligt til variabler i en løkke Sniper Pixie UNIX for dummyer Spørgsmål & svar 0 03-02-2006 09:11 AM
for loop med flere variabler? fosterian Shell Programmering og Scripting 3 03-01-2004 05:15 AM

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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 07-30-2008
marcpascual marcpascual is offline
Registreret Bruger
  
 

Join Date: Sep 2005
Stillinger: 35
SH: to variabler i for løkke

Hej, siger jeg har en enkel sh script som dette:


Code:
for i in a b c d
        do
                for j in 1 2 3 4
                        do
                                echo "$i $j"
                        done
        done

og output er


Code:
 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

Hvordan gør jeg dens output som dette?


Code:
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 programmør, forfatter
  
 

Join Date: Mar 2007
Beliggenhed: Toronto, Canada
Stillinger: 2380

Må ikke anvendes to sløjfer.


Code:
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
Registreret Bruger
  
 

Join Date: Sep 2005
Stillinger: 35
Tak, jeg har brug for at kvalificere dig igen mit spørgsmål:

hvad nu hvis det ikke et nummer, og du kan ikke gøre math om det?

f.eks
List1:
Mary
Umiddelbart før
Delilah

List2:
Joseph
adam
SAMSON

output:
Mary Joseph
Adam tærsklen
SAMSON Delilah


for i in `cat List1« ... for j i `cat List2« ... do ... print $ i $ j ... gjort

nogen måde at omgå dette?
  #4 (permalink)  
Old 07-31-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmør, forfatter
  
 

Join Date: Mar 2007
Beliggenhed: Toronto, Canada
Stillinger: 2380
Citat:
Oprindeligt Indsendt af marcpascual View Post
Tak, jeg har brug for at kvalificere dig igen mit spørgsmål:

hvad nu hvis det ikke et nummer, og du kan ikke gøre math om det?

f.eks
List1:
Mary
Umiddelbart før
Delilah

List2:
Joseph
adam
SAMSON

output:
Mary Joseph
Adam tærsklen
SAMSON Delilah


for i in `cat List1« ... for j i `cat List2« ... do ... print $ i $ j ... gjort

nogen måde at omgå dette?

Code:
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
Beliggenhed: 45.48-73.63
Indlæg: 1.447
Citat:
Oprindeligt Indsendt af cfajohnson View Post
Code:
set -f
IFS='
'
set -- $( cat list2 )
for i in `cat list1`
do
  printf "%s %s\n" "$i" "$1"
  shift
done
KISS princippet hedder det, at design enkelthed bør være et centralt mål og unødvendige kompleksitet undgås.

Code:
paste -d ' ' list1 list2


Senest redigeret af danmero; 07-31-2008 kl 12:40 AM..
  #6 (permalink)  
Old 08-01-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmør, forfatter
  
 

Join Date: Mar 2007
Beliggenhed: Toronto, Canada
Stillinger: 2380
Citat:
Oprindeligt Indsendt af danmero View Post
KISS princippet hedder det, at design enkelthed bør være et centralt mål og unødvendige kompleksitet undgås.

Code:
paste -d ' ' list1 list2

, Der virker for den specifikke sag, men ikke beskæftiger sig det generelle problem, som oprindeligt blev stillet.
  #7 (permalink)  
Old 07-31-2008
marcpascual marcpascual is offline
Registreret Bruger
  
 

Join Date: Sep 2005
Stillinger: 35
amazing, tak!
Reply

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 04:02 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0