The UNIX and Linux Forums  
Hej och välkommen från till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Grep olika filer med hjälp av en loop? foleyml Shell-programmering och Skript 6 01-02-2009 01:41
grep och loop filer kashik Shell-programmering och Skript 4 06-16-2008 09:41
Grep kommandon i loop karthikn7974 Shell-programmering och Skript 0 04-28-2008 10:16
grep-v medan loop Bobo UNIX for Dummies Frågor & Svar 8 01-26-2007 10:53
grep i en slinga gundu Shell-programmering och Skript 7 03-28-2005 05:59

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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 04-22-2009
redalert013 redalert013 is offline
Registered User
  
 

Join Date: april 2009
Inlägg: 1
Exclamation För loop och grep fråga

Jag försöker att arbeta på en skriptfil för tcsh men jag är ganska ny på Linux och har flera frågor.

1. Vad är det mest effektiva sättet att skapa en typ av för loop? Jag måste köra två slingor som kommer varje köras i steg från en startpunkt värde till slutliga värde, t.ex. i \u003d 0, 1 \u003d\u003d 10, i + + på ett annat språk. Vad är det mest effektiva sättet att ställa upp?

Så långt vi kom fram till:
uppsättning i_forloopval \u003d `echo" forloop "| awk '(for (p \u003d 0,7, p <1,43, p \u003d p 0,08) (print p))'"
uppsättning j_forloopval \u003d `echo" forloop "| awk '(for (p \u003d 0,9, p <1,81, p \u003d p 0.1) (print p))'"

foreach i ($ i_forloopval)
foreach j ($ j_forloopval)

men det verkar som det måste finnas en mer effektiv väg att gå om detta.

2. Varje gång det körs genom loop, den kommer att köra ett program som skapar en unik utdatafilen. I stället för att manuellt söka igenom den här filen, jag hoppades att använda grep för att söka efter den linje som vi behöver.

En viss produktion kan se ut:
1 \ 1 \ GINC-NODE006 \ Freq \ RB3LYP \ 6-311G (d) \ Br2 \ TYLERT \ 02-Feb-2009 \ 0 \ \ # N Ty
om \u003d AllCheck Gissa \u003d Läs SCRF \u003d Kontrollera GenChk RB3LYP/6-311G (d) Freq \ \ Avdelning \
\ 0,1 \ Br, 0. 0., -0.0263112705 \ Br, 0. 0., 2.3073112705 \ \ Version \u003d AM64L-G03Re
vD.01 \ staten \u003d 1-SGG \ HF \u003d- 5148.2839416 \ RMSD \u003d 5.854e-11 \ RMSF \u003d 1.293e-06 \ Therm
al \u003d 0.0034749 \ Dipol \u003d 0. 0. 0. \ DipoleDeriv \u003d 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
, 0. 0. 0. 0. 0. 0. 0. 0. \ Polar \u003d 17.7366557,0., 17.7366557,0., 0., 51.89093
66 \ PG \u003d D * H [C * (Br1.Br1)] \ NImag \u003d 0 \ \ 0.00021679,0., 0.00021679,0., 0., 0.1438
2273, -0.00021679,0., 0., 0.00021679,0., -0.00021679,0., 0., 0.00021679,0., 0
., -0.14382273,0., 0., 0.14382273 \ \ 0. 0., 0.00000224,0., 0., -0,00000224 \ \ \ @

den enda information som krävs av detta är HF \u003d- 5148.2839416. Vad är det bästa sättet att utvinna endast detta utdatafilen? Detta kompliceras ytterligare av det faktum att detta inte alltid sker på en linje, men ibland visas som:
en en rad: HF \u003d- 5148,28
39416 och denna del kommer att förpackas på nästa rad.

All hjälp skulle uppskattas.
  #2 (permalänk)  
Old 04-23-2009
devtakh devtakh is offline
Registered User
  
 

Join Date: oktober 2007
Ort: Bangalore
Inlägg: 514
Citat:
Ursprungligen postat av redalert013 View Post
Jag försöker att arbeta på en skriptfil för tcsh men jag är ganska ny på Linux och har flera frågor.

1. Vad är det mest effektiva sättet att skapa en typ av för loop? Jag måste köra två slingor som kommer varje köras i steg från en startpunkt värde till slutliga värde, t.ex. i \u003d 0, 1 \u003d\u003d 10, i + + på ett annat språk. Vad är det mest effektiva sättet att ställa upp?

Så långt vi kom fram till:
uppsättning i_forloopval \u003d `echo" forloop "| awk '(for (p \u003d 0,7, p <1,43, p \u003d p 0,08) (print p))'"
uppsättning j_forloopval \u003d `echo" forloop "| awk '(for (p \u003d 0,9, p <1,81, p \u003d p 0.1) (print p))'"

foreach i ($ i_forloopval)
foreach j ($ j_forloopval)

men det verkar som det måste finnas en mer effektiv väg att gå om detta.

2. Varje gång det körs genom loop, den kommer att köra ett program som skapar en unik utdatafilen. I stället för att manuellt söka igenom den här filen, jag hoppades att använda grep för att söka efter den linje som vi behöver.

En viss produktion kan se ut:
1 \ 1 \ GINC-NODE006 \ Freq \ RB3LYP \ 6-311G (d) \ Br2 \ TYLERT \ 02-Feb-2009 \ 0 \ \ # N Ty
om \u003d AllCheck Gissa \u003d Läs SCRF \u003d Kontrollera GenChk RB3LYP/6-311G (d) Freq \ \ Avdelning \
\ 0,1 \ Br, 0. 0., -0.0263112705 \ Br, 0. 0., 2.3073112705 \ \ Version \u003d AM64L-G03Re
vD.01 \ staten \u003d 1-SGG \ HF \u003d- 5148.2839416 \ RMSD \u003d 5.854e-11 \ RMSF \u003d 1.293e-06 \ Therm
al \u003d 0.0034749 \ Dipol \u003d 0. 0. 0. \ DipoleDeriv \u003d 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
, 0. 0. 0. 0. 0. 0. 0. 0. \ Polar \u003d 17.7366557,0., 17.7366557,0., 0., 51.89093
66 \ PG \u003d D * H [C * (Br1.Br1)] \ NImag \u003d 0 \ \ 0.00021679,0., 0.00021679,0., 0., 0.1438
2273, -0.00021679,0., 0., 0.00021679,0., -0.00021679,0., 0., 0.00021679,0., 0
., -0.14382273,0., 0., 0.14382273 \ \ 0. 0., 0.00000224,0., 0., -0,00000224 \ \ \ @

den enda information som krävs av detta är HF \u003d- 5148.2839416. Vad är det bästa sättet att utvinna endast detta utdatafilen? Detta kompliceras ytterligare av det faktum att detta inte alltid sker på en linje, men ibland visas som:
en en rad: HF \u003d- 5148,28
39416 och denna del kommer att förpackas på nästa rad.

All hjälp skulle uppskattas.
Jag är inte helt klart om din första fråga. förklara på vad du försöker att genomföra.

för den andra frågan kan du prova denna

awk-F "\ \" "(for (i \u003d 1, i <\u003d NF, i + +) (if ($ i ~ / HF /) print $ i)) 'fil


skål,
Devaraj Takhellambam
Closed Thread

Komihåglista

Taggar
foreach, grep, loopar, ersätta, söka

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 12:02.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0