The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Dummies Spørsmål og svar
.
google unix.com



UNIX for Dummies Spørsmål og svar Hvis du er usikker på hvor du skal legge inn en UNIX-eller Linux-spørsmålet, legger den her. Alle UNIX og Linux newbies velkommen!

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
bruke foreach loop sam4now Shell programmering og Skripting 6 04-26-2008 12:22
Foreach loop haze21 Shell programmering og Skripting 4 11-16-2007 03:11
foreach mappe eltinator Shell programmering og Skripting 7 08-13-2007 03:37
foreach / grep hjelp! JimWork Shell programmering og Skripting 6 07-27-2007 05:25
foreach kommando? geoquest UNIX for Dummies Spørsmål og svar 5 05-20-2002 06:11

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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 11-19-2008
asulli01 asulli01 is offline
Registrert bruker
  
 

Bli Dato: november 2008
Innlegg: 6
foreach statement i ksh

Hei,
Min skriptet skal kjøre gjennom alle subdirs recursively i SUBDIR_LIST, kjøre en clearcase kommandoen i hver subdir, skrive til merge_results1.txt og legge til en ny linje i resultatet før du går til neste subdir. Alle resultater skal legge til merge_results1.txt, men er skilt med en linje slik at det er lettere å lese.


Kan noen hjelpe meg med foreach statement?


#! / usr / bin / ksh
/ usr / Atrium / bin / cleartool startview a442592_merge_diff_2.0to2.5

cd / view/a442592_merge_diff_2.0to2.5/vobs_jil

SUBDIR_LIST \u003d `ls-d fmr * /`


# for alle subdirs kjøre en utskrift flette kommando og legge til en ny linje til # merge_results1.txt

for hver $ (SUBDIR_LIST)

/ usr / Atrium / bin / cleartool findmerge. -fver .../strutsplus-2.0_bos/LATEST-print> / home/a442592/merge_results1.txt

# loop ender her

cat / home/a442592/merge_results1.txt | sed 's / Needs Merge / / g' | sed 's / "/ / g' | cut-d [-f1> / home/a442592/merge_results2.txt

cat ~ / merge_results2.txt | mailx-r <form e-post>-s' Sync flette mellom 2.0 og 2.5 "<to e-mail>

Takk
  #2 (permalink)  
Old 11-19-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4308
Syntaksen for en for loop er:

Code:
for file in `ls -d fmr*/`; do
  #
  # do your stuff here with "$file"
  #
done
Hilsen
  #3 (permalink)  
Old 11-25-2008
asulli01 asulli01 is offline
Registrert bruker
  
 

Bli Dato: november 2008
Innlegg: 6
Hei.
Som virket - takk.

Problemet mitt nå er at hver gang det går gjennom loopen legges det til en linje, som er ok hvis det er utgang. Mitt problem er at jeg nå får 3-4 tomme linjer, slik at jeg nå må sette en hvis setningen å si om en blank linje allerede eksisterer ikke legger til et annet.

Vet du hvordan du gjør det?

Code:
SUBDIR_LIST \u003d `ls-d fmr *`
for DIR i `ls-d fmr *`; gjøre
/ usr / Atrium / bin / cleartool findmerge $ DIR-fver .../strutsplus-2.0_bos/LATEST-print>> / home/a442592/merge_results1.txt
echo>> / home/a442592/merge_results1.txt "\ n"
ferdig
cat / home/a442592/merge_results1.txt | sed 's / Needs Merge / / g' | sed 's / "/ / g' | cut-d [-f1> / home/a442592/merge_results2.txt


Takk
Angela
  #4 (permalink)  
Old 11-25-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4308
Hva betyr denne kommandoen betyr?

Code:
echo >> /home/a442592/merge_results1.txt "\n"
Har du ønsket effekt hvis du fjerner denne kommandoen?
Hvis ikke, legge inn innholdet i merge_results1.txt og ønsket effekt.

Hilsen
  #5 (permalink)  
Old 11-25-2008
asulli01 asulli01 is offline
Registrert bruker
  
 

Bli Dato: november 2008
Innlegg: 6
Den looper holder å legge til den samme filen slik ekkoet kommandoen legger til en linje mellom hver loop. Hvis jeg fjerner den jeg får ingen linje seperators.

Dette er det jeg får nå (ved hjelp av "echo ...'):

___________________________________________

fmr-aspects/docs/pub/AspectJ-Policy-Enforcement-User-Guide.doc
fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/FMRCommonsSSMCTest.java
fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/TestAll.java


fmr-commons-admin/docs/pub/fmr-admin.doc
fmr-commons-admin/src/java/com/fmr/commons/admin/services/jca/JcaFactorySpec.java


fmr-commons-catalog/docs/pub








fmr-commons-cs203/build.properties
fmr-commons-cs203/old_build.xml
fmr-commons-cs203/src/main/java/com/fmr/commons/cs203/utils/CS203Constants.java
fmr-commons-cs203/src/test/java/com/fmr/commons/cs203/validator/CoreValidatorTest.java


fmr-commons-hacp/docs/TSD-FMR-COMMONS-HACP.doc
fmr-commons-hacp/scripts/hacp-build.xml
fmr-commons-hacp/src/test/config/log4j.xml

__________________________________________

Mellomrommene mellom bør kun én linje, men min koden legger en linje uavhengig av produksjon av loop. Så jeg vil si at hvis en tom linje eksisterer allerede dont legge til en annen.

Hvordan det bør se ut, er:

___________________________
fmr-aspects/docs/pub/AspectJ-Policy-Enforcement-User-Guide.doc
fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/FMRCommonsSSMCTest.java
fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/TestAll.java

fmr-commons-admin/docs/pub/fmr-admin.doc
fmr-commons-admin/src/java/com/fmr/commons/admin/services/jca/JcaFactorySpec.java

fmr-commons-catalog/docs/pub

fmr-commons-cs203/build.properties
fmr-commons-cs203/old_build.xml
fmr-commons-cs203/src/main/java/com/fmr/commons/cs203/utils/CS203Constants.java
fmr-commons-cs203/src/test/java/com/fmr/commons/cs203/validator/CoreValidatorTest.java

fmr-commons-hacp/docs/TSD-FMR-COMMONS-HACP.doc
fmr-commons-hacp/scripts/hacp-build.xml
fmr-commons-hacp/src/test/config/log4j.xml

__________________________

Takk
Angela
  #6 (permalink)  
Old 11-26-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4308
Det er vanskelig hvis du ikke vet når kommandoen lager en tom linje.
Du kan slette alle emptylines fra produksjonen med:

Code:
sed '/^$/d' file > newfile
Hilsen
  #7 (permalink)  
Old 11-26-2008
asulli01 asulli01 is offline
Registrert bruker
  
 

Bli Dato: november 2008
Innlegg: 6
Hei,
Det er egentlig ikke det jeg trenger Jeg trenger 1 blank linje.

Jeg fant denne - den fjerner duplisere, sammenhengende linjer
awk 'a! ~ $ 0; (a \u003d $ 0) "


vil du vite hvordan du endrer den til å fjerne bare 1 av duplikatinnhold linjer?

takk
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 02:19.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0