![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !! |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| using foreach loop | sam4now | Shell Programming and Scripting | 6 | 04-26-2008 11:22 AM |
| Foreach loop | haze21 | Shell Programming and Scripting | 4 | 11-16-2007 03:11 AM |
| foreach folder | eltinator | Shell Programming and Scripting | 7 | 08-13-2007 02:37 AM |
| foreach/grep help! | JimWork | Shell Programming and Scripting | 6 | 07-27-2007 04:25 PM |
| foreach command ?! | geoquest | UNIX for Dummies Questions & Answers | 5 | 05-20-2002 05:11 PM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
||||
|
foreach statement in ksh
Hi,
My script should run through all subdirs recursively in SUBDIR_LIST, run a clearcase command in each subdir, print to the merge_results1.txt and add a new line to the results before going to the next subdir. All the results should append to merge_results1.txt, but are seperated by a line so it's easier to read. Can someone help me with the foreach statement? #! /usr/bin/ksh /usr/atria/bin/cleartool startview a442592_merge_diff_2.0to2.5 cd /view/a442592_merge_diff_2.0to2.5/vobs_jil SUBDIR_LIST=`ls -d fmr*/` #for all the subdirs run a print merge command and add a new line to #merge_results1.txt for each ${SUBDIR_LIST} /usr/atria/bin/cleartool findmerge . -fver .../strutsplus-2.0_bos/LATEST -print > /home/a442592/merge_results1.txt #loop ends here 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-mail>-s 'Sync merge between 2.0 and 2.5' <to e-mail> Thanks |
|
||||
|
Hi.
That worked - thanks. My problem now is that everytime it goes through the loop it adds a line, which is ok if there is output. My problem is that i am now getting 3 to 4 blank lines so i now need to put an if statement to say if a blank line already exists don't add another. Do you know how to do that? CODE: SUBDIR_LIST=`ls -d fmr*` for DIR in `ls -d fmr*`; do /usr/atria/bin/cleartool findmerge $DIR -fver .../strutsplus-2.0_bos/LATEST -print >> /home/a442592/merge_results1.txt echo >> /home/a442592/merge_results1.txt "\n" done cat /home/a442592/merge_results1.txt | sed 's/Needs Merge//g' | sed 's/"//g' |cut -d[ -f1 > /home/a442592/merge_results2.txt Thanks Angela |
|
||||
|
The loops keeps appending to the same file so the echo command adds a line between each loop. if i remove it i get no line seperators.
This is what i am getting now (using '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 __________________________________________ The spaces between should only be one line, but my code adds a line regardless of any output of the loop. So i want to say that if a blank line already exists dont add another. What it should look like is: ___________________________ 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 __________________________ Thanks Angela |
|
||||
|
Hi,
Thats not really what i need cause i still need 1 blank line. I found this - it removes duplicate, consecutive lines awk 'a !~ $0; {a=$0}' would you know how to change it to remove only 1 of the duplicate lines? thanks |
| Sponsored Links | ||
|
|