.KSH Script Help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting .KSH Script Help
# 1  
Old 05-28-2009
.KSH Script Help

Hi,

I have a Kornshell Script which I want to execute on a directory with a series of files;

eg.

XXXX.shp
XXXX_MSLINK.shp
YYYY.shp
YYYY_MSLINK.shp
ZZZZ.shp
ZZZZ_MSLINK.shp
ect.

I want to add a condition to my for loop. I only want my for loop to run when I have files which can be translated against each other. For example,

in my inputdirectory I only want my loop to run when I have files XXXX.shp and XXXX_MSLINK.shp ect. in the inputdirectory.

I DO NOT want my for loop to run when I'm missing files. For example,

in my input directory I DO NOT want my loop to run when I have XXXX.shp and no corresponding XXXX_mslink.shp. Or XXXX_mslink.shp and NO XXXX.shp. Instead I could have a message box pop up with a message to the user with the option to terminate the program.

My Code:

Code:
 
# enter do loop and translate each .shp file in the InputDirectory
for file in $InputDirectory/*.shp
do
    base=`basename $file.shp`
    if [ -e  ${base}_mslink.shp ] 
    then
 # strip off path
 fname=${file##*/}
 # strip off extention
 fname=${fname%.*}
 print |tee -a -i $WorkingDirectory/change.txt
 print "translating $fname.shp from shape to shape"  |tee -a -i $WorkingDirectory/change.txt
 print "======================"  |teje -a -i $WorkingDirectory/change.txt
 # *executes desired translation    
fi
done


Any help would be greatly appreciated as this code doesnt seem to be working.

Thanks,

Beery
# 2  
Old 05-28-2009
for one thing, to get a list of files to loops through, it would have to be something like this:

Code:
for file in `ls -1 $InputDirectory/*.shp`;
  do
    something with $file
done

The way you had it, it would loop through once, and $file would be set to the string "<whatever $InputDirectory evaluates to>/*.shp"

if you do it the "ls -1" way, you can also get rid of that basename part, as it should only return the basename of the file anyway.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to replace lines in ksh Script

Hi All, I am novice to Unix and I need your expert advice for the below task. There is a KSH script file in which I need to replace few line as per the below expectations. So my file look like as # Host Setup Command: Line 1 Line 2 Line 3 Line 4 Line Any... (6 Replies)
Discussion started by: rupid0609
6 Replies

2. Shell Programming and Scripting

Deploy ksh script to file from other script

Hi all, I need to deploy two scripts on around ~100 machines and have only OPSware. Opsware have the option to execute a script, so I am trying to write a script which dose cat > script.ksh <<EOF script to be deployed EOF However the script between the two EOFs gets also executed which... (0 Replies)
Discussion started by: click
0 Replies

3. Shell Programming and Scripting

Help Create dynamic ksh script from a script

I am currently running 2 scripts to gather data for a 3rd script and would like to combine the 2 scripts into one. Having issues with the final output format. Note cannot post URL so replaced the http stuff with (name) in the examples All scripts contain #!/bin/ksh OS = Red Hat Enterprise... (0 Replies)
Discussion started by: pcpinkerton
0 Replies

4. Shell Programming and Scripting

KSH script to run other ksh scripts and output it to a file and/or email

Hi I am new to this Scripting process and would like to know How can i write a ksh script that will call other ksh scripts and write the output to a file and/or email. For example ------- Script ABC ------- a.ksh b.ksh c.ksh I need to call all three scripts execute them and... (2 Replies)
Discussion started by: pacifican
2 Replies

5. Shell Programming and Scripting

passing a variables value from the called script to calling script using ksh

How do i get the value of the variable from the called script(script2) to the calling script(script1) in ksh ? I've given portion of the script here to explain the problem. Portion of Script 1 ============= ----- ----- tmp=`a.ksh p1 p2 p3` if then # error processing fi -----... (10 Replies)
Discussion started by: rajarkumar
10 Replies

6. Shell Programming and Scripting

import var and function from ksh script to another ksh script

Ih all, i have multiples ksh scripts for crontab's unix jobs they all have same variables declarations and some similar functions i would have a only single script file to declare my variables, like: var1= "aaa" var2= "bbb" var3= "ccc" ... function ab { ...} function bc { ... }... (2 Replies)
Discussion started by: wolfhurt
2 Replies

7. Shell Programming and Scripting

tracing a ksh script within a ksh script

I normally trace a script with the ksh -x <script name> and redirect strderr to file. But if you have a script like the examble below...... vi hairy bear=`grep bear animals` if then ksh more_animals fi If I ksh -x hairy it won't trace "more_animals" unless I put a -x in it. Is... (1 Reply)
Discussion started by: shorty
1 Replies

8. Shell Programming and Scripting

how to convert unix .ksh script to windows .batch script

I am using awk in my .ksh script but when I am trying to run in windows its not recognising awk part of the ksh script , even when I changed it to gawk it does not work, this is how my .ksh and .bat files look like. thanx. #!/bin/ksh egrep -v "Rpt 038|PM$|Parameters:|Begin |Date: |End... (1 Reply)
Discussion started by: 2.5lt V8
1 Replies

9. Shell Programming and Scripting

executing a ksh script from another ksh script

Hi, I'm new to unix scripting.How can i call a script from another script. I have a.ksh and b.ksh .I have to call b.ksh from a.ksh after it is successfully exceuted. I tried using #!/bin/ksh -x in a.ksh and at the end i have used /path/b.ksh My problem is it is executing only a.ksh.it... (6 Replies)
Discussion started by: ammu
6 Replies

10. UNIX for Dummies Questions & Answers

SQL Script run in KSH Script

I've got a SQL script that is executed through a UNIX ksh script. It is working fine, but I wanted to add a line to put a date/time stamp in the log file that it generates. This is more of a SQL question, but I'm hoping someone can help me get the date/time...I've changed the script with the... (2 Replies)
Discussion started by: dstinsman
2 Replies
Login or Register to Ask a Question